Click to See Complete Forum and Search --> : Pageflipping Question...


Siskmarek
01-24-2002, 04:07 PM
All of you are aware of pageflipping now being available with nVidia's latest drivers for Linux.

Also you may be aware that it only works at certain combination resolutions of X and the fullscreen application...

If I recall off the top of my head, some of the combos were:
----X----- -----App ----
800x600@32 - 800x600@32
1280x1024@32 - 1024x768@32

and so on and so forth...

My question is... how exactly do you GET 32bpp?

I ask this because whenever I try to set X to 32bpp it says that isn't supported. I can only go as high as 24bpp.

I have a GeForce 2 MX 400 with the latest drivers from nVidia compiled for it. Thinking about it, 32bpp should be no problem, but X refuses to accept such a configuration and I always have to fall back to 24.

Any suggestions?

~ Siskie

2thumbs
01-24-2002, 04:35 PM
Taken directly from the nvidia driver documentation:

Page Flipping: This feature is available on all GeForce or newer hardware (ie: not TNT/TNT2 products), and is enabled in the case of a single full screen unobscured OpenGL application when syncing to vblank. Buffer swapping is done by changing which buffer the DAC scans out rather than copying the back buffer contents to the front buffer; this is generally a much higher performance mechanism and allows tearless swapping during the retrace (when __GL_SYNC_TO_VBLANK is set).This feature can be disabled with the PageFlip XF86Config option.

DEPTH, BITS PER PIXEL, AND PITCH

While not directly a concern when programming modes, the bits used per pixel is an issue when considering the maximum programmable resolution; for this reason, it is worthwhile to address the confusion surrounding the terms "depth" and "bits per pixel". Depth is how many bits of data are stored per pixel. Supported depths are 8, 15, 16, and 24. Most video hardware, however, stores pixel data in sizes of 8, 16, or 32 bits; this is the amount of memory allocated per pixel. When you specify your depth, X selects the bits per pixel (bpp) size in which to store the data. Below is a table of what bpp is used for each possible depth:

depth bpp
===== =====
8 8
15 16
16 16
24 32

Lastly, the "pitch" is how many bytes in the linear frame buffer there are between one pixel's data, and the data of the pixel immediately below. You can think of this as the horizontal resolution multiplied by the
bytes per pixel (bits per pixel divided by 8). In practice, the pitch may be more than this product because video hardware often has requirements that the pitch be a multiple of some value.

Lemmingz
02-24-2003, 02:06 AM
do i put it in the XF86Config file?
I'm having some low fps in Return to cstle wolfenstein outside of the castles.
I have a 32 mb gforce2mx.
Are there any other performance tricks to get more out of this old card?
thanks

bwkaz
02-24-2003, 10:14 AM
__GL_SYNC_TO_VBLANK won't improve your FPS. If anything, it'll make the FPS that you get while inside the castle drop, since the game is going to be waiting for your monitor's refresh before it draws the next frame. The maximum FPS you're going to be able to ever get with that set is your monitor's refresh rate.

But if you want to set it anyway, it's not an XF86Config option, it's an environment variable. In the terminal that you're going to start Wolfenstein from, do an export __GL_SYNC_TO_VBLANK=1, and then run the Wolfenstein executable (wolfsp, I think).