View Full Version : ATI Drivers, D3D Stutter maybe caused by...
Thelacky
27-Jan-2003, 20:20
Hi,
I am currently using Cat 3.0 driver with my ATI 8500 and i have noticed the following things while using it both in 3d and 2d applications.
With my refresh rate set at 60hz and enabling Vsync in 2d application i get a nice smooth 60hz stable refresh rate. The screen scrolls as smooth as silk. Now if i enable tripple buffering the vsync goes all wacky in all the 2d applications i have tried. The refresh rate jump from 55hz-65hz at frequent invtervals( less than a second or a second).
Say the screen scrolled one pixel horizontally each frame. This jumping when trippling buffering is used it obvious to see and annoying. One second your scrolling at 65 pixels/sec then next second your scrolling at 55 pixel/sec and it constantly toggles between the two extremes. This also happens in 3d apps.
I think there is something wrong with ATI drivers code with reguards to tripple bufferings. What is even worse is their drivers will try to use tripple buffering where possible in 3d apps.
I dont know how they got it to make frame rates jump constantly but here a guess.
This is how i see tripple buffering working
Buffer A: Currently being displayed
Buffer B: Back buffer ready to be displayed
Buffer C: Current work buffer
They obvious cycle each time a differernt frame is displayed
Example of a few frames
Frame1[a,b,c], Frame2[b,c,a], frame3[c,a,b], frame4[a,b,c] ect
Now i can see the following possibities happens.
1. You can render 3 screen in frame
1.1 At this stage i would stop rending until the frame before build a new scene to keep things going smoothly
But there is something else you can do, and i think this is what ATI does.
If all the buffers are full render again over the last work buffer.
Say you could render 5 frames in 1 refresh rate it might look like this.
frame1[a,b,c,c,c], frame2[b,c,a,a,a], frame3[c,a,b,b,b], frame4[a,b,c,c,c]
Any wayi am not very good at explaining things, but ATI have some doddgy tripple buffering method/code in their drivers.
I was going to post this on rage3d but the their e-mails nevers reach me and cant make an account.
OpenGL guy
27-Jan-2003, 21:28
I dont know how they got it to make frame rates jump constantly but here a guess.
*rest snipped*
Good try, but wrong.
Thelacky
27-Jan-2003, 22:08
I dont know how they got it to make frame rates jump constantly but here a guess.
*rest snipped*
Good try, but wrong.
Ah well, i had a feeling it was not something that simple. :P I just stick to double buffering in 2D games for now.
THe_KELRaTH
28-Jan-2003, 14:45
TheLacky: Sounds like you're experiencing something similar to me:
http://www.beyond3d.com/forum/viewtopic.php?t=3999
Thelacky
28-Jan-2003, 21:48
TheLacky: Sounds like you're experiencing something similar to me:
http://www.beyond3d.com/forum/viewtopic.php?t=3999
What you are getting is normal. With vsync on the following things happen, let make the monitor refresh rate 60hz.
What happens if you can draw a frame within 1/60th of a second
1. Draw frame in back buffer.
2. Wait for vysnc
3. Flip buffer
So the end result is 60fps
What happens if you you you cant draw a frame in 1/60th(just a bit over it) of a second
1. Draw frame in back buffer. During this you miss a vsync because your frame is not finished.
2. Wait for vysnc
3. Flip buffer
Basically you miss a vysnc so you are you a basically waiting 2 vsync which is 30fps.
Now if some frames are with 1/60th of second and other are just above 1/60th you will be getting jumpy frame rate that go 60fps then 30fps etc.
There is a cure for this its called tripple buffering as the computer does not have to wait for vsync to build another frame.
The problem i have is this. Even if the applications can draw faster than the monitor refesh rate, with tripple buffering enabled the refresh rate jumps from 55 to 65 fps constantly instead of a steady 60fps
THe_KELRaTH
29-Jan-2003, 00:04
I did try triplebuffering and Vsync on/off but it seems to have no effect and the result is the same vertical vibrating effect "PLUS" tearing! heh
Thelacky
29-Jan-2003, 01:22
I did try triplebuffering and Vsync on/off but it seems to have no effect and the result is the same vertical vibrating effect "PLUS" tearing! heh
Nvidia has got it right, v-sync and tripple buffering works like a dream. Once ATI get this sorted i have not complaints about ATI drivers. :D
THe_KELRaTH
30-Jan-2003, 10:12
Can't argue with that... As far as games and any corruption / flaws etc I've not got one game thats giving me trouble.
UberLord
30-Jan-2003, 14:20
You guys tried the patented fix of lowering hardware acceleration in Display Properties -> advanced -> Troubleshooting one notch under full? :?:
Thelacky
30-Jan-2003, 21:44
You guys tried the patented fix of lowering hardware acceleration in Display Properties -> advanced -> Troubleshooting one notch under full? :?:
I wish i knew exactly what is getting turned off/disable for each notch you turn down the GFX acceleration.
UberLord
31-Jan-2003, 15:48
According to XP it's cursor and bitmap acceleration. :idea:
Did this fix work for you? :?:
I have no idea why it works for me and some others, and doesn't help some others :x
Rodéric
31-Jan-2003, 15:55
is stuttering the fact that the card sometimes slow down ?
I tried a demo the other day, and my ATI RadeOn 8500 (Latest Catalyst) did slow down regularily.
Almost as it did a cycle somehow, that's rather annoying.
UberLord
31-Jan-2003, 16:02
is stuttering the fact that the card sometimes slow down
Nope.
3DMark is a prime example - the DirectX 8.1 intro screen jerks around with the acceleration on max, and is silky smooth one notch down. And you can't seriously expect that screen to slow down the card? :P
Babel-17
01-Feb-2003, 19:54
Hmmm, I wonder if it's possible that an icon in the system tray is being refreshed to signal a status change, perhaps with hardware acceleration lowered a notch this is somehow not "pestering" the system.
I always disable all "eye candy" desktop effects with whatever Windows OS I use and I've been remarkably lucky so far it not getting many of the problems that I see so frequently posted. I'd like to know I could use those effects without introducing the headache of having to consider them when working out my infrequent problems but I as yet don't feel the needed confidence.
Just a thought and I do have a 9700 Pro fwiw.
Babel-17
01-Feb-2003, 20:53
Another thought ...... do the people with the stuttering also have the DivX player installed? I've read a few stories how the player causes glitches in DirectX/Direct3D.
Either just using the codecs or (my choice) using the Nimo 5.0 codecs which include the needed codecs among others might be worth exploring. I think a reinstall of DirectX afterwards might be required and a repair of file associations. RegCleaner is useful for eliminating the final traces of "bad" software.
Doomtrooper
02-Feb-2003, 03:09
Good advice
koneill
02-Feb-2003, 07:18
oddly enough, i've found i'm able to reproduce the stutter - at least in rallisport challenge:
with winxp pro/dx9/cat3.0a and a 9700 pro with intel's .4012 .inf, if i leave all of the cat's d3d properites at their defaults, the game clearly stutters; however, if i toggle vsync to always off, i can play at 1600x1200, max details, and hardware 3d sound just fine. it lags a bit here and there depending on the track, but it does not stutter. re-enabling vsync to always on or default (app preference) makes the game stutter.
note that i haven't played with AA or AF.
are there any other games/demos anyone can suggest i try that might stutter?
You guys tried the patented fix of lowering hardware acceleration in Display Properties -> advanced -> Troubleshooting one notch under full? :?:
He he..what is this problem actually?...You're suggestion kinda worked, I have suffered frome severe "stuttering" in Rallisport and has been forced to use the "3danalyze-hack" (which works very good btw...) but as soon as I pushed down the slider to "not-full" the stuttering also disappeared.... I'm using a 9700 PRO,Athlon XP1800+ with WinXP PRO.
Thanx !!!
// Tompa
Lowering the amount of hardware acceleration in XP/Display Settings/Advanced/Troubleshooting works for me. The stuttering seems to have come back with the latest drivers but the ones previous were OK if I remember correctly. Weird.
I've have yet to find stuttering with my Radeon 9700 Pro at stock speeds, NOFL2 is fine, Battlefield 1942 runs fine, all OpenGL games run fine. That is with 256mb only of system ram. When I overclocked to over 380mhz speeds 3dMark2001se would start to stutter. Makes me think it is maybe heat related on my card more then anything else.
Does the stuttering go away if you underclock your card?
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.