|
|
#1 | |
|
Guest
Posts: n/a
|
hi,
when setting the environment variable GL_SYNC_TO_VBLANK=1 using bash, i've seen two different suggestions. Suggestion 1 is that at the command prompt: $ export GL_SYNC_TO_VBLANK=1 and suggestion 2 is $ export __GL_SYNC_TO_VBLANK=1. Note that the suggestion 2 has the two underscores before the GL_SYNC..etc. When I use suggestion one, there seems to be no difference in terms of sync with retrace, that is, tearing still occurs. When I use suggestion two, my whole system freezes when staring an OpenGL application, and i have to reboot the whole system (I can't even logout of X). My question is: which is the best method of setting the environment variable (GL_SYNC_TO_VBLANK), and if its the second method, why might my system freeze when i use it?? thanks, Simon |
|
|
|
|
#2 | |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
The only real option is __GL_SYNC_TO_VBLANK=1
Perhaps this setting is a bit unstable and something else it requires a Geforce card or higher. (so no TNT/TNT2) |
|
|
|
|
|
|
#3 |
|
Guest
Posts: n/a
|
thanks thunderbird,
I have a geforce 256 DDR card, so that shouldn't be the problem. could this be a driver problem?? |
|
|
|
#4 | |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
Likely. But there might be a workaround for a lot of games. I don't know what game you are trying to use but for example Quake3 engine based games have a maxfps command. (wasn't it com_maxfps?) Normally in game it is set to 85. Using options like that you can do about the same as Vsync. (It is off during timedemos)
|
|
|
|
|
|
|
#5 |
|
Guest
Posts: n/a
|
T-Bird,
not using for games, but for my own applications written in OpenGL/C for visual perception research. cheers |
|
|
|
#6 | |
|
Registered User
|
Hey shosking,
I personally don't have any problems using vsync (geforce2 mx,l geforce2 quadro mxr, geforce2 ultra) but I have implemented something similar for problems with vsync and multiple applications ... simple calculate out the time it should take to render a buffer(1/60 s for 60hz), then after you are done running all other commands simply store that time, then after your first cycle, simply wait until that time period has passed until you call glxswapbuffers again that way you can sync up with the display If you don't know what i mean, or have trouble implementing it, i can give you a hand.. - r0gu3 |
|
|
|
|
![]() |
| Thread Tools | |
|
|