I have been trying to solve this mysterious page tearing problem forever and still can't solve it. Please read this post carefuly if you wish to participate. It requires hands on experience with the problem. If you have an LCD and are one of those new generation gamers who haven't ever played with high refresh rates 100+ on a CRT please stay out. You will not understand this, it will be too complicating for you cause u never seen true speeds.
First of all let me tell you my setup.
My general hardware is able to achieve around 750 fps on d2 running around alone.
I have a 19" Top of the line CRT monitor.
I have it running at 120 Hz in game and out of game at 1152x864. (Tried 100hz too)
My mouse razer diamondback set to 500hz usb. (seems to have an impact on how smooth frames are rendered). I saw a clear difference between when it was at 125 and 500.
So lets get to the problem. When I run my monitor at 120hz and use fps_max set to 120 or 121 I get page tearing. If I set fps_max at 110 or 130 the page tearing dissapears but the game doesn't run as smooth as when refresh rate = fps_max. The same thing happens at any other refresh rate such as 100 or 85.
Another thing I noticed that if I set fps_max two times the refresh rate, the tearing returns. For example if refresh is 120 and fps_max 240, tearing returns. Also anything in between the two results in not so smooth gameplay.
I tried v_sync on and it only caused mouse speed fluctuations. My mouse became not so responsive when vsync got enabled. So I couldn't use vsync.
The only thing that fixes the problem is fps_max 0 when FPS is above 280. But my game drops to 150 during heavy rushes and then comes the jittery feeling again. So fps_max 0 is not a fix.
And yes I have a fresh copy of windows installed. So if anyone has this problem or knows about it please tell me what I can do to make this bad game run smooth without page tearing. If there is a way to enable vsync and keep the mouse responsive please tell me how. Basically anything to solve this problem will do, cause my hardware is able to provide minimum of 150 during rushes when all 5 are shooting my way.
Basically it is very important to keep the game syncing well cause then my bunnyhopping becomes easier too. This page tearing is a pain in the ass.
The last thing left I can still experiment with is mouserate, see what happens at 250 or 1000 but I doubt it will fix this jittery gameplay at fps_max not equal to refresh rate or remove page tearing when they are equal. So any solutions or thoughts are welcome.
What is not welcome is LCD kiddies in here telling me you cant notice a difference lol.
Basically #8 suggested to use vsync but it made mouse responsiveness sluggish like I said in the initial post.
So I tried to see why mouse responsiveness was slow and figured it out.
Basically even if vsync is used FPS_MAX still needs to be set equal to refresh rate. That way the mouse becomes more responsive. Next thing is to set maximum prerendered frames in NVIDIA control panel to 1 or 2. That fixes the mouse responsiveness even more.
BUT :/
I still have a feeling that the mouse is not AS responsive with v_sync enabled.
I aksed my friends and they said they experience the same thing on LCD monitors, they all have Nvidia cards tho.
Did some blind tests and I could tell the difference between fps_max 101 and fps_max 0 every time. The game is certainly much smoother with fps_max 0. even using an LCD @ 75hz
I don't want to trade mouse responsiveness for a smoother game though, so tell me when you got a fix :)
Try setting custom timings/resolutions. Mess with porch/other settings under advanced custom resolutions. THis may fix your problem. Often times a small tweak here will work wonders.
I have a similar setup. FW900 with super high refresh w/ diamondback and it took me a while to find the right refresh rate/fps cap combination that resulted in the smoothest with the least tearing. Screw around with different refreshrates/timings and you should find something that works.
Dont enable vsync. All that does it lock your fps at your refresh rate. Pointless.
You can pmme in #teamdeluxe names chewbacca I can prolly help u sort this out.
#19 I did mess around with all that I tested the game with all kinds of refresh rates up to 135 Hz.
And yes there are combinations which result in no page tearing and more or less smooth gameplay. Adifference of 6 between refresh and fps max works. But what I am saying is, more or less smooth isn't enough. Many problems appear when refresh is not equal to FPS for example tickrate fluctuation for both in/out, increased demo recording choppyness, and bunnyhopping problems. I did more tests with vsync as at this time it seems the only solution to keep refresh=fps_max.
I was able to minimize mouse lag to a point where it is really not noticable anymore. And now I find that smoother frame rendering helps me aim better.
I tested some extra settings such as Threaded optimaztion disbaled and affinity set to one CPU.
At the end total FPS benefitted from both of them.
For now I am just playing with refresh = 116, fps_max = 116 and vsync on.
Some other things I learned from testing:
1. setting fps_max one above the desired FPS is a lie. If you want 100 fps you need to set fps_max 100. That way the real output is still 100. You will notice how your rates will stabilize at 101.6 when fps_max is set to 100. At 101 the rates start fluctuating, meaning the game is doing extra things to sync frames with tickrate.
2. CSS fps syncs better with tickrate every 8 frames. for example if you want to play above 100 fps. use 108 116 124 132 140 and etc. you will find demo recordings less choppy at those values, meaning your code is performing better.
3. even with vsync I see a difference at 100hz refresh vs 124hz.
This comment was edited at 05/11/2008 7:40 PM
Submit Comments
Registered Users Only
In order to post comments, you must be a registered member. If you have not registered, it's free and easy!
Mysterious page tearing
First of all let me tell you my setup.
My general hardware is able to achieve around 750 fps on d2 running around alone.
I have a 19" Top of the line CRT monitor.
I have it running at 120 Hz in game and out of game at 1152x864. (Tried 100hz too)
My mouse razer diamondback set to 500hz usb. (seems to have an impact on how smooth frames are rendered). I saw a clear difference between when it was at 125 and 500.
So lets get to the problem. When I run my monitor at 120hz and use fps_max set to 120 or 121 I get page tearing. If I set fps_max at 110 or 130 the page tearing dissapears but the game doesn't run as smooth as when refresh rate = fps_max. The same thing happens at any other refresh rate such as 100 or 85.
Another thing I noticed that if I set fps_max two times the refresh rate, the tearing returns. For example if refresh is 120 and fps_max 240, tearing returns. Also anything in between the two results in not so smooth gameplay.
I tried v_sync on and it only caused mouse speed fluctuations. My mouse became not so responsive when vsync got enabled. So I couldn't use vsync.
The only thing that fixes the problem is fps_max 0 when FPS is above 280. But my game drops to 150 during heavy rushes and then comes the jittery feeling again. So fps_max 0 is not a fix.
And yes I have a fresh copy of windows installed. So if anyone has this problem or knows about it please tell me what I can do to make this bad game run smooth without page tearing. If there is a way to enable vsync and keep the mouse responsive please tell me how. Basically anything to solve this problem will do, cause my hardware is able to provide minimum of 150 during rushes when all 5 are shooting my way.
Basically it is very important to keep the game syncing well cause then my bunnyhopping becomes easier too. This page tearing is a pain in the ass.
The last thing left I can still experiment with is mouserate, see what happens at 250 or 1000 but I doubt it will fix this jittery gameplay at fps_max not equal to refresh rate or remove page tearing when they are equal. So any solutions or thoughts are welcome.
What is not welcome is LCD kiddies in here telling me you cant notice a difference lol.
Set the max fps below the refresh rate, it wont make it less smooth
just set vsync, if you want refresh rate = fps.
vsync removes tearing ^^
Basically #8 suggested to use vsync but it made mouse responsiveness sluggish like I said in the initial post.
So I tried to see why mouse responsiveness was slow and figured it out.
Basically even if vsync is used FPS_MAX still needs to be set equal to refresh rate. That way the mouse becomes more responsive. Next thing is to set maximum prerendered frames in NVIDIA control panel to 1 or 2. That fixes the mouse responsiveness even more.
BUT :/
I still have a feeling that the mouse is not AS responsive with v_sync enabled.
I aksed my friends and they said they experience the same thing on LCD monitors, they all have Nvidia cards tho.
I don't want to trade mouse responsiveness for a smoother game though, so tell me when you got a fix :)
there's more pixels for the cursor to move across, thus taking longer...
I have a similar setup. FW900 with super high refresh w/ diamondback and it took me a while to find the right refresh rate/fps cap combination that resulted in the smoothest with the least tearing. Screw around with different refreshrates/timings and you should find something that works.
Dont enable vsync. All that does it lock your fps at your refresh rate. Pointless.
You can pmme in #teamdeluxe names chewbacca I can prolly help u sort this out.
And yes there are combinations which result in no page tearing and more or less smooth gameplay. Adifference of 6 between refresh and fps max works. But what I am saying is, more or less smooth isn't enough. Many problems appear when refresh is not equal to FPS for example tickrate fluctuation for both in/out, increased demo recording choppyness, and bunnyhopping problems. I did more tests with vsync as at this time it seems the only solution to keep refresh=fps_max.
I was able to minimize mouse lag to a point where it is really not noticable anymore. And now I find that smoother frame rendering helps me aim better.
I tested some extra settings such as Threaded optimaztion disbaled and affinity set to one CPU.
At the end total FPS benefitted from both of them.
For now I am just playing with refresh = 116, fps_max = 116 and vsync on.
Some other things I learned from testing:
1. setting fps_max one above the desired FPS is a lie. If you want 100 fps you need to set fps_max 100. That way the real output is still 100. You will notice how your rates will stabilize at 101.6 when fps_max is set to 100. At 101 the rates start fluctuating, meaning the game is doing extra things to sync frames with tickrate.
2. CSS fps syncs better with tickrate every 8 frames. for example if you want to play above 100 fps. use 108 116 124 132 140 and etc. you will find demo recordings less choppy at those values, meaning your code is performing better.
3. even with vsync I see a difference at 100hz refresh vs 124hz.
Submit Comments
Registered Users Only
In order to post comments, you must be a registered member. If you have not registered, it's free and easy!