PDA

View Full Version : PCGH: Micro stuttering on multi GPU solutions


Fr3ak
02-09-2008, 05:22 AM
With this thread in German 3D Center Forum, the whole things starts and reached almost any IT website. The summary of the thread creator: Although SLI allows higher frame rates, the perceived outcome is often not better than the lower framerates of a solo graphics card. Meanwhile, it is clear that not only (triple) SLI, but Crossfire is also concerned. And as we said in our testing of multichrome, S3 doesn't make it better than AMD / Ati and Nvidia.

Source (english):
http://www.pcgameshardware.de/?article_id=631668

At the end of the article there is a video showing NFS Pro Street and UT3 on a HD3870 X2 with both crossfire enabled and disabled. I have to admit the video smoothens everything a bit. The difference is much bigger when you see it with your own eyes. NFS becomes almost unplayable when running crossfire. On UT3 you can see the stuttering much better. Though the game runs 10 Fps slower without CF, it feels way more smooth.

Unbornchild
02-09-2008, 05:37 AM
Thanks Fr3ak.
Hmm... i was often tempted to get Crossfire, especially with the new 3870X2 card, but held it off till today. I don't regret it. Still sitting on my saved money for the convincing best solution. I'll only go Crossfire or X-fire when it gives a better result than a single card in all available games.

[EDIT]: and i mean the subjective result, the experience, feeling of the game running completely smoothly, during gaming. Not just the clinically measured fps.

OBR
02-09-2008, 05:41 AM
micro stuttering is very funny naming ... as long how MultiGPU exists this is named input lag ...

Fr3ak
02-09-2008, 05:44 AM
To make it clear, this article is not about CF performance which can reach only 60% of a single card in some games. The article is about the gaps between frames. Using a single card the gap of the frames is linear and only varies by a small amount that is not noticable. With CF or SLI on the other hand the displayed frame times vary a lot which looks to the human eye like stuttering although the Fps are way higher tan it feels like.

OBR: I think it's rather output lag, isn't it?

Hyperhorn
02-09-2008, 06:13 AM
Sometimes I had strange feelings about my 7950 GX2 and UT3. Knowing about micro stuttering it's maybe time to re-investigate it. I guess it was because framerate dropped sometimes at ~40 fps, but the smooth-feeling was more affected (--> because total time intervals were larger) . The whole thing is troublesome, NVidia/ AMD have to find a solution.

STaRGaZeR
02-09-2008, 06:22 AM
I've been saying this in the 3870 and 3870X2 threads. Glad to see it's actually confirmed and reviewed. Also, Fr3ak if you have the chance as a reviewer, please do some pressure if you can to ATI and NVIDIA. We need it.

And it has nothing to do with input lag.

Apoc@
02-09-2008, 06:24 AM
Nice review.

realsmasher
02-09-2008, 06:27 AM
which driver was used ?

i just ask, as crysis is mentioned on the website while already is proven, that crysis has no more "Micro stuttering" problems at all with the 3870x2.

don't know about the other games though.

but HOW do you get 25fps in UT3 ?
even with single 3870 you get 30+ fps in 2560*1600 EASY.

AnarchX
02-09-2008, 06:34 AM
micro stuttering is very funny naming ... as long how MultiGPU exists this is named input lag ...

input lag != unsteady frame-times

Fr3ak
02-09-2008, 06:55 AM
Testsetup being used for the video:
Cat 8.1, C2D E6700 @ 400x8, XP x86 SP2, Gigabyte X38, 2 GiB DDR2-800

The Fps are that low because of AA being used in combination with a high resolution. I didn't make the test myself, so I cannot tell you what exactly has been used. But what you can clearly see is that even 25-30 Fps on UT3 feel way less smooth than the 15 Fps with CF disabled.

We made sure it's not just a weird behaviour with that specific hardware configuration. It's the same on skulltrail, P35 and 780i using completely different components.

saaya
02-09-2008, 07:13 AM
use fraps to look at the frame time ;)
i started to work on an article about this years ago after ati just introed xfire but then never finished it cause i moved to the uk :D

multi gpu solutions lack frame syncing in afr modes, in many scenarios you get both cards finishing frames at almost the same time. so you do get more frames per second on your display, but the final result looks almost like showing each frame twice within a short period of time.

frame time looks a bit like this:

1:00:01 frame 1
1:00:04 frame 2
1:00:31 frame 3
1:00:34 frame 4

frame 1 and 2 and 3 and 4 are so close to each other they are almost identical and it would look almost the same to show frame1 twice and frame3 twice.

back then i told ati about this and they said they know about this and are working on tile mode and better syncing of the cards. but it seems most of the time cards still work in afr which gives better fps scaling and the syncing still doesnt seem to work out that well either.

from my experience it seems that the lower the fps the more apparent the flashing, the higher the fps the less you note it.
so xfire seems to make gaming look smoother at high fps, at low fps it actually makes it look worse tho.

EDIT: lol i just read the article, seems you already found the same things :D
check other games and benchmarks, some stutter much worse than nfs, i think in cod2 the frame times for 2 consecutive frames was almost identical.

realsmasher
02-09-2008, 08:53 AM
Testsetup being used for the video:
Cat 8.1

ok, then i understand it.
8.1 had all those problems.

with newest driver at least crysis does not have this problem anymore.
i can link the frametimes if anyone wants to see.

Oc-Ghost
02-09-2008, 09:06 AM
Secondary to primary frame buffer lag.. didn´t think it existed because of the bridge.
But then again thanks to serial connections, we have some lag.
Guess that´s the only edge parallel connections will ever have.

Shintai
02-09-2008, 09:16 AM
GPUs is like women, you simply ask for too much trouble if more than 1 :p:

Lestat
02-09-2008, 09:29 AM
GPUs is like women, you simply ask for too much trouble if more than 1 :p:

depends on how big your card is lol

tombman
02-09-2008, 11:36 AM
EDIT: lol i just read the article, seems you already found the same things :D
check other games and benchmarks, some stutter much worse than nfs, i think in cod2 the frame times for 2 consecutive frames was almost identical.
Hi, i'm the original author of the thread "die sli Lüge..." at 3dc forums and i'm happy that this problem is starting to get spread across the web.

ATI and Nvidia obviously don't want the world to know, because it will severly hurt the glamour of multi-gpu solutions which is the future of highend graphics!
The solution to this problem would be to enable some kind of intelligent frame limiter, which can easily be done within the driver, but will cost a small amount of average frames per second. And losing framerates will hurt benchmarks and therefore reputation.

Some games, that have a built-in framelimiter, will show perfectly even frametimes no matter how much gpus you use, so there IS a solution to this problem. In fact, a user @3dc forums already programmed a litte tool that can limit the framerate in all d3d9 applications, but then suddenly "disappeared" and never came back.

All this tool did was to delay the output of frames depending of previous frametimes. It wasn't intelligent, so you could only lock to a particular fps rate, e.g. 30fps or 40fps. Making it intelligent, so it could adapt to whatever framerate necessary in realtime, would have been no big deal, but as i said, he never came back to finish his work.

I hope, that with enough pressure from all of the "freaks" and "nerds" on the internet, ATI and Nvidia will have to come up with a solution, namely a small switch in the control panels of the drivers- for example they could call it: "syncronize/harmonize frametimes for SLI/CF" [Yes] [No]

Lightman
02-09-2008, 11:59 AM
vSync if working is sorting this problem in CF :)
At least it does on my RIG under XP x64 :up:

L7R
02-09-2008, 12:28 PM
Great article! I found this issue immediately when I get my first CF system. It's not in every game but almost all new games suffers this issue somewhat. Crysis is best example with early drivers. It runs flawlessy and steady 28-35fps with single card and actually feels somewhat smooth. But when enabling cf I get 50-100(!)% increase but its like every other frame (or even many frames) are not being rendered. Framerate jumps between 20-100 and it stutters all the time. It's very hard to explain but if framerate is 30 with single card, then compared 30fps in CF it's very much unplayable in many games. What affects is your resolution: For example Oblivion, CF stutters more on 1680x1050 without AA and AF than 1400x900 AF8+AA even both have same framerates. VSync helps but not when fps drops under 60 or 30.

Another example is Quake 4. With CF it stutters badly even when framerate drops from 60 to 54! Fortunately those under 60fps moments happens only a few times. With single card you can't even notice those kind of drops.


Games which have been fixed with driver updates:
CoD4 with 8.2beta -- Fps is much of the same but feels very smooth even in high res.

Crysis with 8.2beta -- same here. Now it feels as smooth as fps counter shows.

Stalker with 7.11 -- Just GREAT! This was bad even though fps counter showed high framerates.


CF is fantastic if your system can run a game 60fps minimum so you can hit vsync on (like Half life 2 or Stalker with maxed out settings).

tombman
02-09-2008, 01:02 PM
vSync if working is sorting this problem in CF :)
At least it does on my RIG under XP x64 :up:
Vsync cannot solve this, as it is a completely different problem. (i can give explanation if requested)

MuffinFlavored
02-09-2008, 04:30 PM
GPUs is like women, you simply ask for too much trouble if more than 1 :p:

Thanks.

I thought multi-GPU was all about rendering the upcoming frames, but that would mean they frames would be ready one after another and there would be no stuttering.

I guess this is not how it is. How is multi-GPU then? All work to render one frame?

Richie P
02-09-2008, 04:40 PM
VERY interesting. Thanks a lot for the insight and head's up :)

foxmino
02-09-2008, 05:56 PM
Is the clear line scrolling down the monitor in some games the same thing as the stuttering issue or is this a v-sync problem?

realsmasher
02-09-2008, 11:48 PM
well, that's a good question.

if you keep in mind, that the frame from the second card comes close after the first, this "line" should appear much more often if there is micro stuttering.

but anyway, you can avoid it with v-sync.(the line, not the stuttering)

saaya
02-10-2008, 12:29 AM
Secondary to primary frame buffer lag.. didn´t think it existed because of the bridge.
But then again thanks to serial connections, we have some lag.
Guess that´s the only edge parallel connections will ever have.
thats not it, you could delay the output of a frame to compensate for that, but the problem is the time the frames were rendered at, so what time in the game they show. the frames were finished almost at the same time and showing almost the same thing in the game.

so delaying one of the two so the frame times look smooth will only hide the problem, but it wont fix it. you would still see almost the same frame twice and only then see a new frame, again twice. so it will look like its stuttering, you see almost no movement between frames 1 and 2 and then to 3 theres a big difference, 3 and 4 are almost the same again and 5 is a big difference again...


From what saaya is saying though, there is no sync'ing? That just seems rediculous.
i dont know if there is or isnt, but the the frame calculation is def not perfectly in sync as ideally you want a crossfire system to shoot one frame from card 1 and then 1 frame from card2. and not have frame 1 and 2 come at almost the same time. then you are shooting 2x as many "bullets" as with 1 "gun", but your not producing a steady "cover fire" which is what crossfire is all about :D

Hi, i'm the original author of the thread "die sli Lüge..." at 3dc forums and i'm happy that this problem is starting to get spread across the web.

ATI and Nvidia obviously don't want the world to know, because it will severly hurt the glamour of multi-gpu solutions which is the future of highend graphics!
The solution to this problem would be to enable some kind of intelligent frame limiter, which can easily be done within the driver, but will cost a small amount of average frames per second. And losing framerates will hurt benchmarks and therefore reputation.

Some games, that have a built-in framelimiter, will show perfectly even frametimes no matter how much gpus you use, so there IS a solution to this problem. In fact, a user @3dc forums already programmed a litte tool that can limit the framerate in all d3d9 applications, but then suddenly "disappeared" and never came back.

All this tool did was to delay the output of frames depending of previous frametimes. It wasn't intelligent, so you could only lock to a particular fps rate, e.g. 30fps or 40fps. Making it intelligent, so it could adapt to whatever framerate necessary in realtime, would have been no big deal, but as i said, he never came back to finish his work.

I hope, that with enough pressure from all of the "freaks" and "nerds" on the internet, ATI and Nvidia will have to come up with a solution, namely a small switch in the control panels of the drivers- for example they could call it: "syncronize/harmonize frametimes for SLI/CF" [Yes] [No]
interesting to see how many people noticed this but it never really became public :D

the tool your explaining doesnt solve the problem though, it will only have a cosmetic change in that the frame times will look fine, but as i explained above, the game will still stutter... the stuter would actually be even perceived worse cause you stretch the time between the two identical frames!

DefStar
02-10-2008, 12:50 AM
Yes, the stuttering is quite obvious. When I had my 7950 gx2 I allways adjusted my overclock and settings thinking something was just off. I had never used sli before, and because I got the 7950 gx2 and a whole new system at the sametime it was frustrating trying to isolate the problem. Anyhow, I knew it was a side effect from sli even though nobody ever mentioned it because they were to arrogant and ignorant about having their oh so powerfull sli system. Anyhow I got lucky and did the stepup program for 8800 gtx but untill then I felt so burnt and so pissed that I fell for sli marketing it made me sick. I sware it was the most annoying thing It was just enough to make you think wtf, wtf is that, it seems like a lag spikes.

Shintai
02-10-2008, 12:55 AM
Thanks.

I thought multi-GPU was all about rendering the upcoming frames, but that would mean they frames would be ready one after another and there would be no stuttering.

I guess this is not how it is. How is multi-GPU then? All work to render one frame?

They each render x part of the frame usually. Then have to share the information about that frame. I have a feeling they dont sync right and the frames gets "shared" uneven to try and keep up pace with high FPS when one card is behind. GFX cards and drivers today is a huge mess. Its also quite a joke when we need "optimized" drivers for x game. Since by standard definitions you would have baseline DirectX drivers and all would work perfectly. All these hacks and cheats have a backside of the medal.

DefStar
02-10-2008, 12:57 AM
Haha, I just realized I never put my gfx card in my sig because of how shamefull it was to me.

saaya
02-10-2008, 01:47 AM
They each render x part of the frame usually. Then have to share the information about that frame. I have a feeling they dont sync right and the frames gets "shared" uneven to try and keep up pace with high FPS when one card is behind.yepp, and the result looks like what you also see at high fps with no vsync. i actually thought that those things are fixed now seeing as we have at least the 4th gen xfire and 3rd gen sli.

xfire 1 external connectors
xfire 2 connection through pciE
xfire 3 connection through internal bridge
xfire 4 support for more than 2 gpus

sli 1 one bridge
sli 2 two bridges
sli 3 support for tripple sli

Ego
02-10-2008, 02:04 AM
There are like 75%(and more) computer ppl who use vsync on.
That what i seen in one of my forums, thats bad and ppl love to play on graphics lag.
Some of them dont know how to play without vsync, lol.

As far i remember vsync is like cooler for graphics gpus, it limits 50-75-120 fps and it wount raise any hier, just to _keep low fps = cooler graphics_

Shintai
02-10-2008, 02:23 AM
There are like 75%(and more) computer ppl who use vsync on.
That what i seen in one of my forums, thats bad and ppl love to play on graphics lag.
Some of them dont know how to play without vsync, lol.

As far i remember vsync is like cooler for graphics gpus, it limits 50-75-120 fps and it wount raise any hier, just to _keep low fps = cooler graphics_

Vsync got more benefits. First of all it stops your GPU from rendering more frames than your screen can show. It runs alittle colder as you say. It also helps keep minimum FPS up usually. Also vsync gives better quality since you dont skip alot of frames that never gets shown.

Lightman
02-10-2008, 02:48 AM
Has anyone noticed micro-stuttering when Tile Mode rendering is used instead of AFR?

This mode should not have any stuttering visible, but unfortunately it's slower than AFR....

saaya
02-10-2008, 06:09 AM
Has anyone noticed micro-stuttering when Tile Mode rendering is used instead of AFR?

This mode should not have any stuttering visible, but unfortunately it's slower than AFR....

well how? ati doesnt let us force the different mods like nvidia does :(

realsmasher
02-10-2008, 06:42 AM
nvidia does ?
they don't !

there is a tool that let's you choose the profile, but that does not come from nvidia.

Anyway, you can change it with Ati by just renaming the executable... it's really that easy.

saaya
02-10-2008, 08:00 AM
hmmm i never understood why ati doesnt let people chose the rendering modes themselves... i mean honestly, why? :shrug:

cause they dont want nvidia to know when they use what modes and how efficient they are? like nvidia couldnt tell :rolleyes: THEY have ways to find out what mode is running and know how to force what mode on a xfire system for sure.

imo its a typical stupid "customers shouldnt get their dirty paws on this" decision... too bad really... :(

realsmasher
02-10-2008, 11:36 AM
saaya plz tell me where nvidia let the customers choose the rendering mode.

tombman
02-10-2008, 03:21 PM
the tool your explaining doesnt solve the problem though, it will only have a cosmetic change in that the frame times will look fine, but as i explained above, the game will still stutter... the stuter would actually be even perceived worse cause you stretch the time between the two identical frames!
Nono, the tool WORKED. I have it here and stuttering almost disappeared perfectly.

All the tool did was to GUARANTEE a certain amount of time to wait until a certain frame gets displayed.

I give you an expample:

Frame A wanted to be displayed after 10ms, which is way too fast, because the NEXT frame would then come out after 50ms, because @ 30fps we have ~60ms time for two frames. This is what i call a 10-50 cadence. The 50ms part is responsible for the stuttering, as it represents a framerate auf 20fps (1000/50=20), which is way below 30fps.
So the goal is to get rid of those 50ms.

So when the tool ADDs to those 10ms of frame A another 20ms it will be displayed at 30ms, AND THE NEXT FRAME will come out in the NEXT 30ms -> a perfect 30-30 cadence. Since we eliminated the 50ms down to 30ms we will NOT see stuttering.

So this tool does NOT "swallow" frames, it just delays them to shorten the lag of following frames. ALL frames get rendered!
If frame A would take 15ms, the additional time added would only be 15ms.

This tool, although not finished, IS working.
==
Now what would make this tool perfect? Intelligence of course ;)

All a perfect tool would have to do, is to look at the previous 2 frametimes, AVERAGE this ((A+B)/2) and then take that as maximum waiting time for the next 2 frames.

So e.g.: 23ms A + 56ms B = 76ms render time for 2 frames. -> 34ms render time for 1 frame. -> EXPECTED render time for next 2 frames = 34ms each. -> waiting time for next 2 frames = 34 - actual frametime. -> actual frametime messured: 10ms + 15ms (asuming game is getting faster ;)) -> waiting time for those 2 NEW frames is 24ms (34-10) and 19ms (34-19). -> expectation has to be adjusted -> next waiting time is [(10+15)/2= 12.5~13ms]-actual frametime and so on and on and on....

So a tool will always look at the previous 2 (SLI) or 3 (TSLI) or 4 (quad-sli) frametimes, calculate an average frametime and then set a minimum wait for the next 2, 3 or 4 frames.
It just SLOWS down those frames that come out too fast, to give the following frame(s) enough time. That's the trick.

Disadvantages: of course a tool can only react 2 to 4 frames late at changing framerates, because it has to look at the past to predict new waiting times. So it WOULD react at changing conditions, e.g. looking at the sky in a game will decrease the load and increase fps, but only with a delay of 2 to 4 frames. So this wil cost a small amount of average fps during a benchmark session, but gameplay will be 1000 times better than without a tool.
==
The easiest way would be to implement this kind of smoothing directly into the driver. The driver wouldn't have to messure more than 1 frame to know how long it took to render 1 frame. So it can react perfectly quick for the next frame.

p.s: i hope i did not miscalculate anything, but it is late here in vienna and i'm tired ;)

STaRGaZeR
02-10-2008, 04:34 PM
Can any of you share that tool? I've been suffering the problem you (tombman) have explained for ages, and one of the reasons I drop Crossfire was that. If the tool actually works as you say it does, that would be PERFECT!

saaya
02-11-2008, 12:26 AM
saaya plz tell me where nvidia let the customers choose the rendering mode.
Afaik you can create a custom game profile and in this profile you can select what rendering modes you want the driver to use?

I didnt run sli or xfire for a looong time so im not sure.

Btw, i did some research and apparently you CAN set the rendering modes, althought not all of them, with xfire as well? you have to set ai catalyst to advanced and then can select between 2 rendering modes or something?

Nono, the tool WORKED. I have it here and stuttering almost disappeared perfectly.

All the tool did was to GUARANTEE a certain amount of time to wait until a certain frame gets displayed.

I give you an expample:

Frame A wanted to be displayed after 10ms, which is way too fast, because the NEXT frame would then come out after 50ms, because @ 30fps we have ~60ms time for two frames. This is what i call a 10-50 cadence. The 50ms part is responsible for the stuttering, as it represents a framerate auf 20fps (1000/50=20), which is way below 30fps.
So the goal is to get rid of those 50ms.

So when the tool ADDs to those 10ms of frame A another 20ms it will be displayed at 30ms, AND THE NEXT FRAME will come out in the NEXT 30ms -> a perfect 30-30 cadence. Since we eliminated the 50ms down to 30ms we will NOT see stuttering.

So this tool does NOT "swallow" frames, it just delays them to shorten the lag of following frames. ALL frames get rendered!
If frame A would take 15ms, the additional time added would only be 15ms.

This tool, although not finished, IS working.
==
Now what would make this tool perfect? Intelligence of course ;)

All a perfect tool would have to do, is to look at the previous 2 frametimes, AVERAGE this ((A+B)/2) and then take that as maximum waiting time for the next 2 frames.

So e.g.: 23ms A + 56ms B = 76ms render time for 2 frames. -> 34ms render time for 1 frame. -> EXPECTED render time for next 2 frames = 34ms each. -> waiting time for next 2 frames = 34 - actual frametime. -> actual frametime messured: 10ms + 15ms (asuming game is getting faster ;)) -> waiting time for those 2 NEW frames is 24ms (34-10) and 19ms (34-19). -> expectation has to be adjusted -> next waiting time is [(10+15)/2= 12.5~13ms]-actual frametime and so on and on and on....

So a tool will always look at the previous 2 (SLI) or 3 (TSLI) or 4 (quad-sli) frametimes, calculate an average frametime and then set a minimum wait for the next 2, 3 or 4 frames.
It just SLOWS down those frames that come out too fast, to give the following frame(s) enough time. That's the trick.

Disadvantages: of course a tool can only react 2 to 4 frames late at changing framerates, because it has to look at the past to predict new waiting times. So it WOULD react at changing conditions, e.g. looking at the sky in a game will decrease the load and increase fps, but only with a delay of 2 to 4 frames. So this wil cost a small amount of average fps during a benchmark session, but gameplay will be 1000 times better than without a tool.
==
The easiest way would be to implement this kind of smoothing directly into the driver. The driver wouldn't have to messure more than 1 frame to know how long it took to render 1 frame. So it can react perfectly quick for the next frame.

p.s: i hope i did not miscalculate anything, but it is late here in vienna and i'm tired ;)the method you are explaining would prevent flickering but not the stuttering.

the frames would be displayed at a constant frame per second rate, but the frame times, the times when the frames wre actually calculated and hence the time the frames show IN the game, are still not constant.

see it this way, you want to draw your own little cartoon movie.
if you look at a certain amount of pictures per second it looks fluent.
the more pictures per second you flip through the more fluent
but drawing extra pictures is a lot of work...
if you take the same pictures you already have and just make a copy of it you have twice the amount of pictures. so now you can show more pictures per time and have it look more fluent right? of course not, cause the pictures are still the same, you will look at the same picture twice which will not make it slightly more fluent but all movements actually stutter.

thats the problem, the frames get rendered at almost the same time, which means they show almost the same time in the game, which means they are almost identical. so yes, reorganizing the time the frame gets displayed makes the scene flicker less and look more smooth, but it doesnt actually make the game smooth, it will still stutter, actually it will stutter even more cause for an even longer period you will see the same frame, or almost the same frame.

effectively by changing the frame times you are changing the speed the time passes in the game.
this would actually enforce the stuttering and make it even worse.
at least in theory... no idea how vsync and display tehnology and the human eyes perception etc etc all play into this :D

if your tool indeed improved the perceived game quality as in making it look and feel smoother, then we could use it with single card systems as well.
we could simply insert extra frames, up to 100% more frames, but simply re-use exisiting frames and show every 10th or up to every single frame more than once. this would make the fps go way up artificially. i have my doubts if frame insertion actually helps the smoothness of a game... afaik both nvidia and ati experimented with this but never used it since it doesnt work and has side effects like manipulating the in-game time.

realsmasher
02-11-2008, 01:20 AM
Afaik you can create a custom game profile and in this profile you can select what rendering modes you want the driver to use?

there is a tool for setting rendering mode, but it does not come from nvidia. It's 3rd party.

you can't make ati responsible for not open the rendering modes if nvidia also does not do it.

SLI was long time(and also today) much more used then CF, so it's understandable why a 3rd party tool exists for SLI but not for CF.



the frames would be displayed at a constant frame per second rate, but the frame times, the times when the frames wre actually calculated and hence the time the frames show IN the game, are still not constant.


you think way to static.

frame 1 comes at 0ms
frame 2 wants to come at 10ms but is delayed to 30ms
frame 3 comes at 60ms
frame 4 comes NOT at 70ms, as it was delayed first time and it will take also 60ms till it rendered, so it will come at 90ms


-> not problem anymore.



@ tombman : could you please upload the tool ? i don't think you got the sourcecode ?

Maybe i can help with it. If the methode for delaying frames is already implemented it shouldn't be too hard to improve the timing.

saaya
02-11-2008, 03:10 AM
AMD is too focused on speed...and not on quality...which is too bad.
its not like nvidia is any different... :P
THEY brought SLI back to live in its current incarnation which imo is flawed. ati just followed the market demand and did a similar approach cause nvidias SLI was so successfull as a marketing tool.

there is a tool for setting rendering mode, but it does not come from nvidia. It's 3rd party.hmmm i didnt know that, this is a shame then...

you can't make ati responsible for not open the rendering modes if nvidia also does not do it. yes i can, ati should do it cause its the right thing to do to give people access to the hardware they spend 1-2 months worth of their salary on.
regardless of what the competition does!

you think way to static.
and you dont seem to know how a gpu works :P

frame 1 comes at 0ms
frame 2 wants to come at 10ms but is delayed to 30ms
frame 3 comes at 60ms
frame 4 comes NOT at 70ms, as it was delayed first time and it will take also 60ms till it rendered, so it will come at 90msthats not how it works... the frame doesn "want" to come at a certain time and then gets pushed back. afaikthats impossible. the frame DOES come at the time the gpu finished it, this tool cant influence when the frame gets rendered, all the tool can do is hold the frame in the frame buffer for a bit longer and hide it from you and show it to you a few pico seconds later. thats all.

the time the frame actually gets rendered at , afaik,cant be controlled by a little tool. you need to know a LOT about how the gpu works and need to influence the entire rendering process to adjust the times the frames actually get rendered at. this is very very complex and predicting when the gpu is ready to render the next frame and how long it will take, to make sure frame2 isnt finished before frame1, or 2 frames are finished at the same time, or there is a long period without any frames beeing rendered at all, takes some of the smartes people on this planet to figure out and adjust.

eXa
02-11-2008, 03:12 AM
So delaying the picture after its rendered wont actually address the problem since the error has already been done by that time. You will have to delay when the card starts to render the image in the first place. So when its done it actually hits 30ms later than the first pic like its supposed to.

Slipknot
02-11-2008, 03:32 AM
the time the frame actually gets rendered at , afaik,cant be controlled by a little tool. you need to know a LOT about how the gpu works and need to influence the entire rendering process to adjust the times the frames actually get rendered at. this is very very complex and predicting when the gpu is ready to render the next frame and how long it will take, to make sure frame2 isnt finished before frame1, or 2 frames are finished at the same time, or there is a long period without any frames beeing rendered at all, takes some of the smartes people on this planet to figure out and adjust.


saaya, you are from germany, so read this thread: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=389258

The tool was programmed by a guy (Nick Ludi, he appeared at page 12), who is an ATI-employee. But there are licence-problems with a microsoft-library he used for his tool. So he removed the tool from his server and he has no time to create his own library. He said also, that he will not give the source code to anyone.

HKPolice
02-16-2008, 11:06 AM
This thread should be stickied, everyone should know about it and complain so that nv and ATi will do something.

Jungle+=
02-22-2008, 02:58 PM
Hello !

this thread is right up my alley....sadly
I'm experiancing the symptoms of stutter and fps drops of 50% back to 100% fps in 1 second cycles. The odd thing is that they stuttered when I first installed them with my water cooling. Upon fiddling with the waterblocks on the gpu's....and hence the cards themselves...I found that the stutter disappeared. I could still SEE stutter visually althought the fps remained near 100% of potential ( minor and playable ).

Well things were running almost acceptable ( with UT3 )...but I needed to clean out the water in my cooling as I'm still learning the nuances of keeping the loop clean.
Once again...upon reinstalling the blocks and cards....the horrible stutter. This time, fiddling some more with the card seating did not fix it. I gave up and reformatted the whole darned computer. With the new install of Vista Ultimate x64 and ATI's 8.2 drivers, the stutter was back to normal amounts ( double the fps of 1 card...just less smooth than 1 card ) I was almost happy ! 8-0

Well here we are again,with the final reseating of the waterblocks. Cpu never goes higher than 40 degrees at 100% load and gpu's at max load stay below 45 dgrees.
The massive stutter returned, this time with the visual cue of the fps dropping to exactly 1/2 and back to a full 2 cards output in 1 second cycles.

I have used the 8.2 drivers for both the balanced fps result ( less stutter , NOT stutterless ) and the wildly fluctuating fps. The only difference was actually touching the cards....or reinstalling the drivers and OS. ODD,,,,very odd

I even tried the Vista multiple gpu hotfixes that address the issue of windows desktop manager not alloting data to the second card properly....to no avail.
Hopefully they might help others with the stutter. Here they are...

KB945149-Multiple GPU Hotfix
KB945149 (http://www.microsoft.com/downloads/details.aspx?FamilyID=4d611cbc-ddbb-4744-8437-76a470dcfb93&DisplayLang=en)

KB936710-DX10 & Multiple GPU Hotfix
http://www.microsoft.com/downloads/details.aspx?FamilyID=94d790bf-1e15-46d7-923a-614e47f016c8&DisplayLang=en

KB940105-Virtual address space usage in Windows game development Hotfix
http://www.microsoft.com/downloads/details.aspx?FamilyID=a156e265-40ff-468e-bba2-3d1e1929c416&DisplayLang=en

Hope they help some.

4 generations of crossfire later, I`m still waiting for ATI to write a comprehensive guide on crossfire use , not to mention a driver that delivers on their promise.
Shameful....in any other industry, the consumer protection agencies would get involved.

1 question about powerplay...from the ATI help files that load with CCC...it states " .PowerPlay™ for mobile computers manages the power requirements of the GPU by optimizing the graphics settings for higher performance or longer battery life. Use PowerPlay™ to balance performance and power consumption".
Is this why I can't find any settings for Powerplay like like I am supposed to, under the "Graphics Settings Tree"(ATI's description) ? I'm definately not on anything mobile ( the CoolerMaster Cosmos case weighs 35 Lbs. when empty):rofl: I only see a reference to PowerPlay in my Power Options...with a greyed out menu for settings.

Edit: A great article on micro stutter with multiple gpu's from a German site (pre translated for your convenience )
http://www.pcgameshardware.de/?article_id=631668

saaya
02-22-2008, 05:08 PM
Edit: A great article on micro stutter with multiple gpu's from a German site (pre translated for your convenience )
http://www.pcgameshardware.de/?article_id=631668

this is the article this thread is about! :P :lol:

tombman, in the thread on 3dc you said that the hl2 integrated frame limiter already fixes this problem?
can somebody check this? does it just delay frames or does it really help to get more stable fps?

Jungle+=
02-22-2008, 05:42 PM
this is the article this thread is about! :P :lol:


Blushes......:eek:
Now I remember where I first found it ! :rofl:
Methinks that 2 days without proper sleep wrestling my watercooling loop AND subsequent crossfire issues...has made me delerious !

saaya
02-22-2008, 06:14 PM
interesting... i read the entire thread and maaaaannn, its full of kids insulting each other and stupid ego battles... geez...

so in the end, it seems some ati driver dev took the time and wrote a little tool that constantly stalls one of the gpus to keep the frame times of both gpus exactly in sync. the tool was removed since he uses a microsoft dll and either never received a reply from microsoft about using it, or received a reply telling him to stop distributing the dll.

is this the tool?

http://www.abload.de/img/frametimefix6vb.jpg

Slipknot
02-22-2008, 07:10 PM
Dunno where you got the frame limiter from, but Ludis program is command line based:

http://rapidshare.com/files/85231450/fpslimiter_0_2.rar

KoHaN69
02-22-2008, 10:14 PM
Looks like tombman is the professor here, everything he says makes perfect sense.

Now, with a single-card, I see "tearing" with and without vsync on a 2405FPW lcd, @ 60Hz

However, the tearing noticably decreases if a 100Hz crt monitor is used.

Does the refresh rate also matter in micro-stuttering?

ps: I also vote for a sticky, this is a very important issue

kromosto
02-22-2008, 10:49 PM
i cant get this. how two cards getting the same clock from pci-e bus cant be synched. and totally agree with saaya this tool will also make single card systems more smooth too.

L7R
02-22-2008, 11:03 PM
I think this is one of the most intresting threads in XS. Yes there are lots of others too, but for the first time; +1 Vote for a sticky. I think this is the first time when in english forums people talk about this issue ...and what could be better place than XS! :)

L7R
02-22-2008, 11:18 PM
And for those who still don't know what this "micro-stuttering" is, here's one example how you will notice it immediately:

Try crysis with CF enabled and disabled. CF enabled you get awesome gains -say 40-60fps average, BUT it feels just like playing with one card at 25-35fps average. Or on CF, it stutters even more.

Using cf you can see (in integrated fps counter) your min fps could go as low as 10 and max as up as 70 or even 100 in a fraction of a second. Just stand still and then move a mouse and see how that fps meter goes wild. What is displayed in next to (....-...) is your average. That average doesn't mean nothing* if the MINIMUM fps drops under 10 inside a fraction of the second.
EDIT: But in single card your min fps stays in 25 and max about 35, and I think it feels more playable than on two cards.


*it means a lot for hardware reviewers, though.

STaRGaZeR
02-23-2008, 05:52 AM
So anyone has this tool for reduce stuttering?

saaya
02-23-2008, 08:07 AM
Slipknot, that rar file doesnt work, its corrupted...

weeds
02-23-2008, 05:16 PM
Slipknot, that rar file doesnt work, its corrupted...

fpslimiter_0_2.zip
http://www.filesend.net/download.php?f=fb43bd384163108ecc2cdfe7e2034947

ChaosMinionX
02-23-2008, 05:22 PM
fpslimiter_0_2.zip
http://www.filesend.net/download.php?f=fb43bd384163108ecc2cdfe7e2034947

Care to translate?

Zur Nutzung:

Archiv entpacken und mit der Konsole in das Verzeichnis wechseln (oder ggf. eine Batchdatei anlegen). Hier der Syntax:

fps_limiter /r: D3D8|D3D9|OGL "pfad zur spiele.exe" (ohne das Leerzeichen nach dem Doppelpunkt, das Forum macht aus : D ein Smiley)

Mit dem Schalter /r wird der Renderer Hook angegeben, wenn dieser Schalter nicht angegeben wird, wird automatisch D3D9 benutzt. Beispiel:

fps_limiter /r: OGL "c:\spiele\quake4\quake4.exe" <- Nutzt OGL, also explizit angeben
fps_limiter "c:\spiele\jade empire\jadeempire.exe" <- Nutzt D3D9, muss also nicht angegeben werden

Wenn der Pfad richtig ist, wird das Spiel gesta

saaya
02-23-2008, 11:53 PM
thanks weeds! :toast:

Version 0.1, 11/12/2007
-----------------------
- Inital Release
You dont need to create batch files.
all you gotta do to play a game with fps limiter is create a new shortcut, to let the fpslimiter exe launch the game for you.
Simply create a shortcut to Limiter.exe and add the path to the game.exe, thats it.
create several shortcuts for all the games your playing and name them by the game.exe they lead to, that way you dont get any extra shortcuts.

How to::

unzip the files and use the console to change the directory. or create a batch file if you prefer...

fps_limiter /r: D3D8|D3D9|OGL "path to game.exe" (no empty space between "r:" and "D", i simply inserted it since the forum code turns it into a smiley = :D)

the command /r enables the hook, if you DONT use this command, D3D9 will be used by default. Example:

fps_limiter /r: OGL "c:\games\quake4\quake4.exe" <- uses OGL, so you should use the /r command
fps_limiter "c:\games\jade empire\jadeempire.exe" <- uses D3D9, so dont use the /r command

provided you used the right path to the game.exe the game will launch when you use the shortcut or batch file. as soon as the game launches you will fine a file called "limiter.log" in the game directory.

r1ch
02-24-2008, 12:03 AM
It would hepl if both cards were actually entering 3D mode...currently on 8.2, alot of apps do not trigger second card to enter 3d mode, the card renders using 2D speeds.

This could be an explanation but I find it hard to believe. :shrug: Any proof this is the case? Can someone test before and after having forced 3D clocks on both cards?

ChaosMinionX
02-24-2008, 01:39 AM
How would one go about forcing 3d clocks on the 2nd card?

r1ch
02-24-2008, 02:12 AM
flash bios, I personally use AMDGPUTOOL..have been since it first came out, and some XIP's were screaming that it didn't work for both cards :rolleyes:. Of course, I'm in Vista, them XP...

Anyway, it's not like that for all apps...just some apps only clock second card. ATI lauded not needing a "profile" for crossfire, but they lied.:fact: Some apps work well, some do not...(8.1 works well in most instances, but ther eis still stutter in DX9).

I mean, the stutter is really noticible when you have 200+FPS...should be smooth visuals, right?:rolleyes: I've started loading up some older titles..Bloodlines, GTA SA, all older titles seem to have worse visual performance when run with Crossfire VS. singlecard. It's really frustrating...I've totally lost interest in gaming as of late...spent top dollar on parts for a gaming pc...just to have stupid issues like this, that are totally out of my control, makes for alot of wasted money. there's no product, right now, from AMD, that offers a solution for decent 30-inch gaming.

that's all I'm looking for...but it seems as though I've got to buy myself a muc hsmalelr omnitor for gaming...22inch or less, it seems.

So with 8.2's there's more stutter because of a clock difference between the two cards? That's not good.

Anyone got an actual fix for the original micro-stutter problem yet? Does the frame limiter help?

/Off topic
Why buy another monitor? Why not just drop down the resolution? And if you're one that complains about it not being native, then just set the monitor so it doesn't stretch the image. Viola, 1680x1050 resolution as a 20" image in a 30" monitor. No need to buy another monitor? Or am I missing something?

ChaosMinionX
02-24-2008, 02:35 AM
So I would assume ATI is working on fixing this problem?

strange|ife
02-24-2008, 03:14 AM
why I use one card. Less stress

ran sli 7800GTX, was more trouble than it was worth

realsmasher
02-24-2008, 07:17 AM
cadaveca, what you tell is simply impossible.

you can't bring 200fps to stuttering in cf/sli.

If you have 200fps with CF, even in the WORST situation, means when both cards pump out 1 image each at the exacly same time, it would feel like 100fps.

But that's not possible, as the cpu can't "prepare" for 2 images at the same time.

So even if your cpu is capable of 1000fps, it would mean there is at least 1ms between the frames, making 200fps@CF feel at least like 111fps.

If you feel that, you must be god.

saaya
02-24-2008, 08:04 AM
Any results, Saaya? From the info there, seems only works for XP?
i didnt try the app...

it seems as though I've got to buy myself a muc hsmalelr omnitor for gaming...22inch or less, it seems.:confused: unless your display has a completely fcked up u/d scaling process then running half the native res should pretty decent. id do that and then wait for a new videocard rather than selling a 30" and buying a 22" and then later buying a 30" again :D

hmmmm about nvidia having less issues, i wouldnt say that...
why do you think so?

in the thread on 3dcenter.de several people reported that with sli this stuttering issue is actually worse than with xfire.

STaRGaZeR
02-24-2008, 08:14 AM
If you feel that, you must be god.

If your statement was correct, then it would be hundreds of gods out there... including myself.

Jaivan
02-24-2008, 01:54 PM
I notice that one of the games that i play that stutter the most is Need for Speed Prostreet which have made it virually unplayable with CF on.
The stuttering doesn't seem as bad in Crysis and i don't notice any stuttering in World In Conflict though.

Eastcoasthandle
02-24-2008, 03:09 PM
I notice that one of the games that i play that stutter the most is Need for Speed Prostreet which have made it virually unplayable with CF on.
The stuttering doesn't seem as bad in Crysis and i don't notice any stuttering in World In Conflict though.

It's the game

L7R
02-24-2008, 09:07 PM
I was already afraid this topic is could go wrong direction when many will report "strange stuttering issues" thinking "yeah, that's that micro-stuttering. If you're gaming 200fps there no way it could be micro-stuttering. Check your systems people! As far as I know there's no crossfire support in NFS Pro Street so it's not correct way to analyze anything related to this issue. Please check this with Crysis. It's good example because game plays just like on single card, even framerate looks very good. If you can't notice it, then you cannot notice it any other game. I really think when playing Crysis, my minimum framerate is actually current framerate (1680x1050&noAA/AF). At least that's how it feels.

Here's list of crossfire supported games in catalyst 8.1:

*Stranglehold.exe
3DMark03.exe
3DMark05.exe
3DMark06*.exe
3DMark2001.exe
3DMark2001SE.exe
3dsmax*.exe
AcroRd32.exe
ACTOFWAR*.exe
AFR-FriendlyD3D.exe
aquamark.exe
ARX.exe
Battlefront.exe
BattlefrontII.exe
battleofthegods.exe
BF2.exe
BF2142*.exe
JustCause*.exe
BfVietnam.exe
Biademo.exe
Tiger 2004.exe
Bioshock.exe
BOS.exe
Breed.exe
BreedSPD.exe
cccprev.exe
chess.exe
CoD2?P_s.exe
CoJ.exe
FEARXP.exe
Condemned.exe
Crysis*.exe
CT3.exe
DFX.exe Bia.exe
Driv3r.exe
DungeonSiege2.exe
Dwm.exe
legends.exe
Ehshell.exe
EiB.exe
episode.exe
EverQuest2.exe
Fable.exe
FarCry.exe
FEAR.exe
FEARspdemo.exe
FFXiBench.exe
FFXiWinBench.exe
fifa07*.exe
fsx.exe
FlatOutdemo.exe
CMR5.exe
FreeCell.exe
fs9.exe
game.dat
GodFather.exe
graw*.exe
gt.exe
GW.exe
gwdev.exe
H5_Game.exe
halo.exe
Hearts.exe
hellgate*.exe
HitmanBloodMoney.exe
hl.exe
hl2.exe
InkBall.exe
Inventor.exe
iw3mp.exe
iw3sp.exe
KingKong*.exe
KingKongDemo*.exe
LegoStarWarsII.exe
Lithtech.exe
LockOn.exe
LostPlanet*.exe
Mahjong.exe
Matrix.exe
MaxPayne2.exe
MaxPayne2Demo.exe
Minesweeper.exe
mm.exe
Gothic3.exe
mohpa.exe
Morrowind.exe
narnia.exe
nba2005.exe
nbalive06.exe
NFSC.exe
NFSC_demo.exe
nhl06.exe
nhl2007.exe
NWN2*.exe
oblivion.exe
PainGame.exe
Painkiller.exe
PandoraMultiPlayerDemo.exe
Pariah.exe
patriots.exe
pc_matador.exe
PCMark04.exe
PCMark05.exe
pol.exe
pop.exe
pop2.exe
pop3.exe
primarysurf.exe
PurblePlace.exe
R6Vegas_Launcher.exe
RaceDriver.exe
RD2.exe
RD2D.exe
RD3.exe Age3.exe
RelicCOH.exe
RomeTW*.exe
Sam2.exe
Scarface.exe
ShadowVault.exe
sims.icd
Sims2.exe
Sims2EP1.exe
Sims2EP2.exe
SinEpisodes.exe
Snowblind.exe
Snowblind-Demo.exe
Solitaire.exe
speed.exe
Speed2.exe
Speed2demo.exe
speedDemo.exe
SpiderSolitaire.exe
SplinterCell.exe
SplinterCell2.exe
SplinterCell3.exe
SplinterCell4.exe
starwars_pc.exe
Suffering2*.exe
SupremeCommander.exe
Swat4.exe
Swat4SPDemo.exe
sweaw.exe
SwgClient_r.exe
TechDemo.exe
TestDriveUnlimited.exe
thrones.exe
Timeshift*.exe
TRAOD*.exe
tribesv_?pdemo_en.exe
trl.exe
TV_CD_DVD.exe
TW2004.exe
TW2005.exe
TW2007.exe
USM.exe
UT2003.exe
UT2004.exe
UT3*.exe
w40k.exe
Wargame-g4wlive.exe
white.exe
wic*.exe
WoW.exe
X2.exe
X2-Demo.exe
x3*.exe
XPANDRALLY.exe
XR_3DA.exe

DefStar
02-24-2008, 10:16 PM
Well your wrong and it is noticable.

Maxym
02-24-2008, 11:01 PM
Am I the only one tired of "multi billion dollar" companies releasing products that are nowhere near ready or tested?!. Seriously I'm obviously biased with "idealistic" views, but damn, the amount of BS products released lately. Like to see the car industry adopt this method to improve profits.

Haven't majority of these new gen PC products been delayed by large amounts of time in the first place?! Only to come out shoddy anyway?! meh........Maybe i should just blame the "media" department for getting carried away and never learning from its mistakes.

MMhardKy
02-25-2008, 05:05 AM
Unbelieveable statement by AMD/ATI!!!:
http://www.pcgameshardware.de/aid,633537/News/Multi-GPU_Mikroruckler_Erste_Statements_von_AMD_und_Nvid ia/


Its in german, but basicaly they say they know about it, bit crossfire users are aiming for high frame rates and they (users) know how to achieve them, and micro-stuttering is almost not noticable there (so there is nothing to worry about...)

So they no about it and it sounds as it absolutely does not bother them!



Nvidia said it has to further investigate into the problem.

realsmasher
02-25-2008, 05:09 AM
hes fully right, it's the same thing as i wanted to say, but well i didn't realised that many don't look at the thread title before posting.

Of course you can have some CF stutters even with 1000fps, but these are not micro stuttering, which is ONLY some kind of unfluent frametimes.

If you want to talk about other CF issues you better open another thread.

L7R
02-25-2008, 08:28 AM
I really want to apologize what I said. I didn't mean to upset or offense anybody. It's very hard to write in english and it is this language barrier which cause my sentences become too strict or even offensive.

That list is from rage3d.com forum and it's said to be taken from leaked 8.1 driver (before WHQL 8.1 was not released yet). I really don't know how they dig it from the "driver-code" but anyway it seems to be real. Only game in that list is WiC which didn''t work when I checked. And of course crysis works only for bechmarking purposes because of this stuttering. I'm using 32bit XP so it can't be caused by DX10 which ati has said causes big problems with their driver team (Crysis+DX10).

So, in short only game in that list is wic which doesn't work. And crysis which get "choked" by unusually low minimum framerate -which I think caused by this micro-stuttering.
btw, I'm not ati emplyee. You should check what I've been wrote about CF and you can figure it out pretty clear.

btw2 =)
This maybe obvious, but seems that when you use high resolutions and/or AA+AF so your fps isn't very fast or steady anymore, this problem become more evident. I like to play my games so the MINIMUM fps never goes under 30 so I can't use 4xAA 16AF in almost any game. For example seeing people play CoD4 with 4xAA+16AF in high resolutions will look like there's something wrong in my system. I use 2xAA and thats max for 30-40fps/minimum throughout the game. But I became accustomed to 60fps using arcades way back in 90's. :gamer:
And wipeout! ...and my Sega Dreamcast! :sonic:

KoHaN69
02-27-2008, 10:49 PM
OK, so does anyone have a high-speed camera?

We need to film this shiet, I wanna see it inaction

L7R
02-28-2008, 04:31 AM
I tried with my crappy camera which has 60fps mode. But it seems camera still smooth it out, so it isn't easy to see. Best if you could feel it like moving your mouse and watch what happens. I try to convert this 60fps movie to slow-motion.

Crysis chokes up because of the vidram usage,
Why it doesn't choke when using single card? Why min and max fps gets wild only when using CF/SLI. I don't know, but that doesn't seem plausable explanation.

weeds
02-28-2008, 09:01 AM
nvidia does ?
they don't !

there is a tool that let's you choose the profile, but that does not come from nvidia.

Anyway, you can change it with Ati by just renaming the executable... it's really that easy.

You can choose any of the SLi rendering modes ( Single GPU, Split Frame rendering, AFR1, AFR2, SLi8x, SLi16x, SLi16Q, SLi32, SLi32Q AA ) right from the NVCPL. You can set any of the modes globally or change the mode in any existing profile. As Saaya said you can also create profiles and choose any mode. No third party tool needed. Nvidia also has a load balanceing on screen display that is very helpfull in seeing what mode works best. There was a time when you couldnt change modes in the NVCPL but that was long ago,in the 6 series. Nvidia offers far more accessibility, control and tweakability over SLi then ATI and Crossfire. ATI talked about adding the same type of user contol in CCC over a year ago but it has never come to pass. A shame really.

Renameing executables also disables any app specific fixes and optimizations. Really not an acceptable way to get a game working right.

SLi Modes available in NVCPL
http://www.preattach.com/out.php/t4927_1a.PNG (http://www.preattach.com/show.php/4927_1a.PNG.html) http://www.preattach.com/out.php/t4928_1b.PNG (http://www.preattach.com/show.php/4928_1b.PNG.html) http://www.preattach.com/out.php/t4929_1c.PNG (http://www.preattach.com/show.php/4929_1c.PNG.html)

v_rr
02-28-2008, 10:39 AM
I think that some games look to have slutter but the problem is that the second core goes to 2d cloks -> 3dclock ->2d clocks -> 3d clocks and that provoque slutter.

There are some games that happens that and actually it look simple to resolve that clocks problem.

saaya
02-28-2008, 01:05 PM
cadaveca, please calm down, if there is anybody from amd/ati reading this thread your only scaring them off from posting and maybe offering to help with your comments.

afaik the data isnt sent twice to both cards in sli/xfire, its more like raid where both cards receive the same set of data.

KoHaN69
02-28-2008, 02:26 PM
Talking about filming it, I think if a CRT (120Hz+) with a high refresh rate is used the footage would be more revealing.

Eastcoasthandle
03-14-2008, 06:16 AM
For those with X2's have you tried this (http://www.sapphiretech.com/en/forums/showthread.php?t=18798)

Jungle+=
03-14-2008, 07:43 AM
It works on all rv 670's and 680's. The only thing im not sure about is if it affects both cards.

Dirtbiker14519
03-28-2008, 03:24 PM
I figure I would bump this thread before it gets too old, as I have just gotten into Crossfire (I sold my 8800GTX for 2 HD3870s, worst decision ever :(), and have noticed the "micro stutter" in Crysis.

I usually hang out at Guru3D, and I made a thread there seeking a solution for the problem. I recieved an interesting reply:

I have seen this first hand I build about 2 systems a day. I sell customized systems on e-bay and at a local shop so i mess withem a bit before they go out. Some allow you to change your BIOS PCIE speeds to match each other for example the current system i'm on I can run PCIE at 4X matched or 8X matched. it does allow 16X X 8X but the system will only run it at 8X by 8X. But even on this system when I run 8X by 4X micro stutter is very appearent. So thats why I asked you to try it. I have tried 16X matched with no performance difference than 8X by 8X i did not even notice performance difference at 4X matched. When the buses are matched there is no stutter. I thiink it's only when you get to ultra high resolutions will there be a performance hit. So it's just from my experiance but I could be wrong but so far with every system I have seen mismatched PCIE speeds the Micro stutter is more appearent if you had a HD 3870 X2 as well you would see that even though crossfire is enabled the micro stutter is not appearent. So this is just theory on personal experiences.

Source: http://forums.guru3d.com/showthread.php?t=257553

So it looks like this issue might be more prevalent in systems that run at
16x/4x PCE-E bandwidth such as the P35 or P965 chipset?

L7R
03-28-2008, 03:43 PM
Hey, nice find! I have P35 so that could be why there seems to have people who doesn't recognize it?
Oh, Welcome to the forums! And sorry about your loss (8800GTX).

L7R
03-28-2008, 03:48 PM
Seems your first priority is to get rid of those awful 8.3 cats. Downgrade to 8.2 if you haven't already tried? At least it should help those corruption issues. Remember to use drivercleaner (in safemode) after uninstall AND reboot.

Dirtbiker14519
03-28-2008, 03:52 PM
I don't get any curruption in Vista x64, but I will take your advice and try them out in XP (although I hate to install old drivers).

Lets try to keep this discussion on topic though, as the micro stutter is my main concern ;).

STaRGaZeR
03-28-2008, 04:01 PM
For those with 3870X2s, if you're overclocking make sure your cards have the exact same clock in both core and mem. I had this issue, but sometimes all was good. I figured that the two cores had to be at the same clocks to work in armony. If not, micro stuttering appears.

BTW, have you tried the lastest 8.4 beta to see if the second core is always at 3D speeds? That was one of the greatest problem I experienced when I had the card, and it seems it's now fixed.

Dirtbiker14519
03-28-2008, 05:01 PM
Yeah, the 8.4betas (aka the 8.3 hotfix) didn't help at all :(.

Katzenschleuder
04-15-2008, 07:47 AM
The lack of interest into this serious matter really makes clear how this community is driving into a totally wrong direction.

Thousands of threads about making SuperPI and 3DMark runs, but fewer and fewer about things that matter for stuff that computers are there for.
This is like spending most of you time tuning your car engine to produce the most possible RPMs in the garage, while not caring about the fact that it won't drive faster than a Fiat Bambino on the road.

It is really sad to witness such a waste! :mad:

Dirtbiker14519
04-15-2008, 07:55 AM
@Katzenschleuder: Theres not much we can do man. Everyone who has this problem probably sent a ticket to ATi informing this of this problem, and other than that all we can do is wait.

Katzenschleuder
04-15-2008, 08:11 AM
The problem is that this issue gets close to zero attention in the community and media compared relatively to unimportant news like a 3DMark record that tops the previous one by a couple hundred points, or a new CPU that is 3% faster than the previously fastest!

This issue kills 30% and more of the effective frame rates with SLI/Crossfire systems in most game scenarios! Not just with some hardware setups, but with ALL of them.

Thats more than 30% of your money spent on SLI/Crossfire cards TOTALLY WASTED!
And all we see in conclusion is a hand full of articles of German speaking websites.

That's totally insane!

Dirtbiker14519
04-15-2008, 08:20 AM
I agree, but like I said unless someone has contacts to ATi or nVidia engineers, theres nothing we can do.

Oh, BTW, I mentioned earlier that I had a problem with microstuttering in Crysis with 2x 3870s and a P35 board, and I got it verified by ATi engineers that the P35 is the culprit. Unfortunately I am not in direct contact with the so I can't get further information.

Katzenschleuder
04-15-2008, 08:50 AM
and I got it verified by ATi engineers that the P35 is the culpritHe was wrong based on ATIs own words. Both - ATI and NVIDIA - claim that it is caused by a kernel space timer issue in the OS.

KoHaN69
04-15-2008, 01:51 PM
Well, can we get someone with two 3870s and a P35 to switch to an X48/X38 board?

Redawgc187's mismatched PCIE speeds hypothesis makes sense.

Dirtbiker14519
04-15-2008, 01:54 PM
Someone already did on rage3d (i think). If I can find the post i'll be sure to post it.

Dirtbiker14519
04-15-2008, 01:57 PM
Update: I found it :).

http://www.rage3d.com/Board/showthread.php?t=33912003

Post #9 includes what most of us want to see ;).

Katzenschleuder
04-15-2008, 02:03 PM
Update: I found it :).

http://www.rage3d.com/Board/showthread.php?t=33912003

Post #9 includes what most of us want to see ;).All what this guy wrote is empirical evaluation that has no value.
The problem is measurable and exists with all hardware setups.

Again, this has nothing to do with the mainboard used for sure.
ATI and NVIDIA confirmed the problem and both said that it is related to a kernel space timer/scheduler problem in Windows.

The problem is that this issue exists SINCE YEARS and was NOT FIXED.
So we finally need some big media attention on this issue, because it kills most of the real performance that we expect from SLI/Crossfire by evaluating FPS measurements in hardware reviews.

cadaveca
04-15-2008, 03:42 PM
Well, can we get someone with two 3870s and a P35 to switch to an X48/X38 board?

Redawgc187's mismatched PCIE speeds hypothesis makes sense.

But it's not correct, I have the exact same stutter from 975x, 965, RD600, P35, and X38. I got so many boards from trying to sort out the issue, in the end with no success.

when this thread originally started, my tickets were simply closed by ATI. NOw that is not the case; I've had some good contact from them, and I feel confident that a fix will happen.

generics_user
04-15-2008, 03:59 PM
i can confirm that on 16x/4x the stuttering gets much worse, while it is there i only get one barely noticeable stutter in 5 minutes on the X16/x16

i also tried CF in the X4 slot (x16 physically), average fps didn't drop that much but stuttering gets worse-

my cards also have different sock clocks and when i don't sync them with CCC the stuttering gets worse

in my opinion the whole stuttering problem is a flaw in the idea of SLI/CF which seems to get worse when mismatching cards/clocks/LINKS

EDIT: i'm using XP64 so i can try xp and vista tomorrow if you want too, maybe there is a difference between different OS

KoHaN69
04-15-2008, 04:00 PM
But it's not correct, I have the exact same stutter from 975x, 965, RD600, P35, and X38. I got so many boards from trying to sort out the issue, in the end with no success.

when this thread originally started, my tickets were simply closed by ATI. NOw that is not the case; I've had some good contact from them, and I feel confident that a fix will happen.

So what what operating system and what environment does this occur in?
XP 32bit?
XP 64bit?
Vista 32bit?
Vista 64dbit?
Linux 32bit?
Linux 64bit?
(I don't think there are sli drivers for mac)

Katzenschleuder
04-15-2008, 04:13 PM
This problem can be reproduced consistently on all Windows versions.
Does SLI/Crossfire work on any other OS?

cadaveca
04-15-2008, 04:19 PM
Yes, problem is evident in dualcard configs in XP or Vista, 32-bit or 64bit, Vista shows same problems with 3-4 cards as well.

KoHaN69
04-15-2008, 05:10 PM
What about SLi and CrossFire on linux?

cadaveca
04-15-2008, 05:36 PM
rofl. Are you serious? PLease tell me you are not. I can't see why you are asking this question....there is no Linux Crossfire driver.

KoHaN69
04-15-2008, 06:11 PM
I'm not sure about crossfire, but there's definitely an SLi driver for Linux.
Please refrain from being patronizing.

cadaveca
04-15-2008, 06:36 PM
Sry, man. I humbly apologize. there's just no games for linux..most are windows, so the need for Crossfire on linux is very small.


I DIDN't know there was SLi for linux...I'm actually quite surprised. I wonder why they've invested time in that?

KoHaN69
04-15-2008, 06:44 PM
nvidia always supported linux
ATI's linux newer drivers are open sourced, so crossfire might turn out eventually.
linux has official ports: Doom3, serious sam, UT2k4, Enemy Territory: Quake Wars,
and Unreal3 is coming soon

+wine and cedega of course

it's not DEAD :)

cadaveca
04-15-2008, 06:48 PM
no, but I've never had Linux in my mind as an option for graphics rendering...power computing. Guess maybe I'll have re-evaluate that!

Bo_Fox
04-16-2008, 09:20 PM
Wow!!!!! That explains all of the constant stuttering problems I experience with my games when using my 7900GTX-SLI PC instead of my other 8800GTX PC.

My favorite racing game, Test Drive Unlimited, is unplayable on 7900GTX SLI, although it can run at 35 fps sustained. The constant stuttering just does not look good at all, and looks more like 15 or 20 fps. Many other newer games also stutter more than on my 8800GTX.

FischOderAal
04-16-2008, 10:41 PM
i can confirm that on 16x/4x the stuttering gets much worse, while it is there i only get one barely noticeable stutter in 5 minutes on the X16/x16

makes sense to me. on P35 x4 is connected via the southbridge to the northbridge and therefore has a higher latency.

saaya
04-17-2008, 01:30 AM
if you get a stutter ever 5 minutes, then thats NOT caused by the dual videocards. micro stutering is constant, what you experience is caused by your system memory beeing full and the game has to read/write data from/to the hdd ;)

Dirtbiker14519
04-17-2008, 06:26 PM
Just wanted to Bump this and let everyone know that the new 8.4 drivers didn't resolve this issue :(. I guess I'll put them on ebay and buy an nVidia card.

fireice2
04-17-2008, 06:51 PM
single GPU FTW! :D

Dirtbiker14519
04-17-2008, 06:54 PM
Yep. School of hard knocks i guess :\.

KoHaN69
04-17-2008, 07:56 PM
Yeah, I've always preferred single card too.
if you're gamign @ 1600x1200 or higher (which you should be, anything lower and a single midrange card should be fine for you) sell the GTX and get a 8800GTS 1gb or wait for 9800GT 1gb

GoldenTiger
04-18-2008, 05:31 AM
Has this been fixed ever on the nVidia side, or still a constant issue?

Bo_Fox
04-19-2008, 02:19 PM
Funny thing is when I force split-frame rendering, it seems to help a bit with the "micro" stuttering. However, SFR does not work for some games and I have to suffer severe micro-stuttering (and additional lag) with AFR mode in Test Drive Unlimited, UT3 and Bioshock, COD4, Transformers, ETQW, and most of the newer games.
So I use my 8800GTX for those (except for ETQW).

saaya
04-20-2008, 03:24 AM
sure, sfr should improve the situation a lot, stuttering should only appear when one of the gpus needs more time for its part of the frame than originally planned. if sli is perfectionized then sfr or atis tile mode should cause no micro stuttering at all.

adamsleath
04-20-2008, 03:55 AM
wot a kick in the arse for multicards :|

does running cards at exact same clocks help? does it only happen in some games?:shrug: just curious as ive never run crossfire.

it would be helpful to have a list of games for 2, 3 and 4 card/gpu setups which work with absolutely no problems. it looks like a can of worms to me.

Seraphiel
04-20-2008, 04:51 AM
Is there a game, where it is certain this phenomenon can be observed with nVIDIA SLI?

Some SLI supported games mentioned I have played personally, with and without SLI, and there is no doubt to me, that all of them felt more smoothly with SLI than without.


frame time looks a bit like this:

1:00:01 frame 1
1:00:04 frame 2
1:00:31 frame 3
1:00:34 frame 4


Please explain how that would ever give a less smooth experience than:

1:00:01 frame 1
...
1:00:31 frame 2
...

I really don't understand it, so please (someone) explain it to me. If the above is the correct explanation, then worst case scenario would be the same as without SLI, right?

I don't think the above explanation is the correct one, or at least not the complete one.

AliG
04-20-2008, 06:04 AM
Hopefully the r700 won't have this issue by sharing the memory bus

onewingedangel
04-20-2008, 06:25 AM
Please explain how that would ever give a less smooth experience


When there an even gap between frames your mind tend to fill in the blanks, so as long as your getting sufficient frame rates it appears smooth. With uneven gaps between frames you become aware of the uneven motion even if your getting more frames than required for what we would consider smooth motion.

30fps with even gaps can appear smooth, wheras the uneven gaps are noticable even with very high frame rates. This can mean that playing a game with a single card at 30fps could appear smoother than playing a game in sli at 60+fps.

saaya
04-20-2008, 07:02 AM
wot a kick in the arse for multicards :|

does running cards at exact same clocks help? does it only happen in some games?:shrug: just curious as ive never run crossfire.

it would be helpful to have a list of games for 2, 3 and 4 card/gpu setups which work with absolutely no problems. it looks like a can of worms to me.

it affects sli AND xfire, it happens in ALL games...
its just more apparent in some games compared to others...


Please explain how that would ever give a less smooth experience than:

1:00:01 frame 1
...
1:00:31 frame 2
...

I really don't understand it, so please (someone) explain it to me. If the above is the correct explanation, then worst case scenario would be the same as without SLI, right?

I don't think the above explanation is the correct one, or at least not the complete one.
i already explained it 2 times, did you read the entire thread? :P

ok... here we go again :D
if you draw a cartoon you need a certain amount of pics per second to show to make it look fluent, right? well you can make things look more fluent by doubling the frames. you just show each frame twice, that actually does look more fluent even though you dont get more information.

BUT, this only works if you insert the frames propperly and show them exactly between the other frames. what happens with sli and xifre now is that the extra frames that the second or third/fourth gpu adds, are not displayed or rendered in their propper time windows.

its a bit difficitcult to understand, i admit that...
its basically a bad syncing of game time and frame time.
essentially the stuttering is caused by the game time not matching the frame time, so when we actually see the frames, they dont show a constant flow of time between the different frames, but it stutters.

a movement isnt steady but from one frame to the other the game appears to run slightly faster, then slightly slower. it happens so fast that we perceive it as stuttering.

Hopefully the r700 won't have this issue by sharing the memory bus
i dont know... i dont think you need new hardware to get it to run propperly...
its possible with topdays cards to adjust the frame times, but... it means less performance.
maybe with new gpus they find a way to do adjust frame times without a perfomance impact... hopefully!

fireice2
04-20-2008, 07:50 AM
Does this also happen with the GX2's and X2's?

Seraphiel
04-20-2008, 08:07 AM
When there an even gap between frames your mind tend to fill in the blanks, so as long as your getting sufficient frame rates it appears smooth. With uneven gaps between frames you become aware of the uneven motion even if your getting more frames than required for what we would consider smooth motion.

30fps with even gaps can appear smooth, wheras the uneven gaps are noticable even with very high frame rates. This can mean that playing a game with a single card at 30fps could appear smoother than playing a game in sli at 60+fps.

Well, in Saaya's example the delay was constant (0.00.03), but even if it wasn't so, I am not sure that it would give a less smooth experience. Also, framerates can be pretty inconsistent when playing a game. I wish there was an easy way to actually test the theory.


its a bit difficitcult to understand, i admit that...
its basically a bad syncing of game time and frame time.
essentially the stuttering is caused by the game time not matching the frame time, so when we actually see the frames, they dont show a constant flow of time between the different frames, but it stutters.

a movement isnt steady but from one frame to the other the game appears to run slightly faster, then slightly slower. it happens so fast that we perceive it as stuttering.

That actually makes sense to me, if it means that the frames observed are not in sync with what they "should be" (1.00.01 frame are shown at 1.00.01, but frame 1.00.04 are shown at 1.00.06, frame 1.00.07 are shown at 1.00.07, but frame 1.00.10 are shown at 1.00.12 etc.) ?

And if they were in sync, even if irregular/inconsistent, then it would still be more smooth if more frames were rendered, right ?

Yes, I did read all of the thread. Could be me that just don't get it :)

Still, I personally haven't experienced this with SLI, so perhaps it is OS/driver/game etc. related and not a general problem. Wouldn't it be a problem in all games for all CF/SLI users, if that wasn't the case?

onewingedangel
04-20-2008, 08:28 AM
Well, in Saaya's example the delay was constant (0.00.03)


No it wasn't, look again.

1:00:01 frame 1
0:00:03 gap
1:00:04 frame 2
0:00:27 gap
1:00:31 frame 3
0:00:03 gap
1:00:34 frame 4

Also, framerates can be pretty inconsistent when playing a game.


Using a single GPU when at 30fps theres a specific gap between frames (1/30 second), and when at 70fps whilst the gap is different (1/70 second), its still a consistant rate between frames. When you transition between frame counts you notice this as speed up or speed down, but either way it is still smooth as the gap between frames is consistant with the ammount of frames rendered.

With the AFR multi gpu approach the timing between frames can be inconsistant hence appearing as stuttering. Look at the example below:

EG. Single GPU
FRAME1 >30ms> FRAME2 >30ms> FRAME3 >30ms> FRAME4

EG.AFR
FRAME1 >10ms> FRAME2>20ms>FRAME3>10ms>FRAME4>20ms>FRAME5>10ms>FRAME6>20ms>FRAME7

Even though your getting additional frames from the second GPU its the timing of those frames that causes the stuttering. Under ideal circumstances the gap between the frames should be consistant at 15ms.

Add into that that the speed up and slow down experienced when the fps changes isn't neccesarily consistant between the to GPU's and the gap between the frames can be thrown out by an inconsistant rate, which further complicates things.

Dirtbiker14519
04-20-2008, 09:10 PM
Theres some new leaked Catalyst drivers out. I wonder if they fix the micro stuttering issue...
http://www.station-drivers.com/page/ati%20catalyst.htm

fellix_bg
04-20-2008, 11:30 PM
Those do fix the stutters, at least for me in Crysis.

adamsleath
04-21-2008, 02:25 AM
saaya
it affects sli AND xfire, it happens in ALL games...
its just more apparent in some games compared to others...
that's a bummer, but im sorta grateful that there is another reason NOT to double up on gcards.

i would really like the sli/cf thing to work well, but i found it to be flawed, surely there are circumstances where sli and cf work flawlessly?

saaya
04-21-2008, 03:41 AM
yes, with sfr and tile mode there should be less stuttering.
especially with tile mode, cause with tile mode, in theory, you can always split the frame in 50% and 50% of the work that needs to be done and each gpu can then finish rendering its tiles in the same time. this should assure a constant frametime. and also! the gpus work on the same frames together, making it virtually appear as one gpu to the game! so there wont be any game time or frame time issues caused by splitting up the work and distributing it amongst several gpus. this technique is especially interesting because a single gpu already works that way in some regards.
afaik ati gpus internally break down each frame into tiles of 8x8 or 16x16 pixels iirc, nvidia gpus instead break down each frame into rectangular horizontal stripes of 20x2 pixels or something like that, and then each part of the gpu is then working on such a chunk of data.
so tile mode would basically mean extending this technique to several gpus. unfortunately it seems its not easy to master and get it working right with a high latency and limited bandwidth link between the gpus.
gpus have a massive bandwidth to their memory of 150gb/s, but dont forget, the internal bandwidth between all the parts of a gpu is way beyond that!
getting both gpus to work as one would either require a massive bus link, and even then youd have a latency impact, or, you need to find a way to share as little data as possible and compress data as good as they can. compressing data and managing huge amounts of data is one of the most important things in gpu tech afaik. there are rumors that with Rv7xx there will be some fast connection between the gpus.
Im thinking they might share some of the memory, which basically means they use a part of the memory controller to create a link between both gpus.
Again, modern gpus have a mem bandwidth of up to 150gb/s and they use 8 memory chips, so thats 18gb/s per chip roughly.
If they share one of the 8 chips, then this would be as fast as having 16 pciE lanes only for both gpus to talk to each other...
and since the memory controllers are connected indirectly, this might even be more effcient, since the gpu can probably access and work with data faster if its already in the memory compared to receiving it through the pciE interface and then loading it to memory.
anyways, im drifting off topic :D

seraphiel, i know what you mean, why is adding frames a bad thing, it wont be as good as having 2x the original frames cause of the issues, but it should still be better than having only frames from one card. well, your right... but... it seems having a constant frametime seems to be more important than a high frame rate.

and im starting to think that the real issues people are seeing here are actually caused by the gametime delays from one frame to the other.

there is always a delay from the time a gpu starts to work on a new frame, and basically works on that snapshot of that game time, until its finished and then displayed. it seems that if you use certain post processing effects or a game is programmed in a certain way, then one gpu needs longer from snapshot of the gametime until it finished the frame.

maybe in some games or scenarios you always need to base the next frame on the previous one for some special effects? and to speed this up, ati and nvidia maybe do it like this: gpu1 renders one frame after the other recycling its own frames, gpu2 always recycles the frames from gpu1 to create the next frame.

and as a result the frame times and game times are not matching anymore?
that would actually be a different issue than what i previously explained, but it would describe the issues people are seeing here much better.
as it seems to be limited to only some games and stuttering a lot more and... rougher, than what youd expect from real micro stuttering based on inconsistent frame times alone