How does a unity game scale with multiple graphics card ?
Hard to say as mac does not offer that option and the windows version was just released
game, not editor
Windows before was the “alternative build”. As the editor required mac, the majority of users were mac users, which also means no Sli / CF beeing present to test the builds.
Potentially there are now users with SLI / CF thought I don’t assume more than a handfull as SLI / CF is a hardcore gamer only thing, no realistic user is wasting cash on SLI / CF solutions as the next generation single gpu solution is more powerfull than the current generation SLI / CF solution at less power usage and likely less cash too.
To be fair, I never tested performance on Crossfire/SLI.
From what I know, we don’t do anything specific that would make performance not scale well, but your game might do something. In particular, Crossfire/SLI (when using Alternate Frame Rendering which is the default) does not like any sort of “feedback” effects (where next frame is dependent on contents on previous frames). So something like MotionBlur image effect might be bad for performance on those configs.
I just looked at the guts of my fx6800 and a second 4850 won’t fit - me sad
I want to figure out the best solution to get extra fps in the following case:
3 cameras are splitting one screen and rendering the same scene from 3 different angles
shadows are on, quality is maximum
The whole thing is captured by FRAPS which drops the frame rate from 33 to 19
why the drop ? where is the bottleneck on multi camera set up ? how do i remedy (short of getting a quad plex
Thanks for your suggestion/help/info
You mean, why the framerate drops when you’re capturing the video? I guess because Fraps needs to read each frame back from the graphics card, encode it and save to disk…
I just installed a GTX 295 and here are the results.
Far Cry2 1920x1200 ultra AAx4 runs steady @ 55 fps
Unity game 800x600 Fantastic 600 draw calls shadow set at 350m, details at 50, trees at 100 runs @ 18 fps
For comparison, the 4850 could push 34 fps
What’s going on ?
so … any way to get more speed from this insanely fast card ?
Or is Unity reverse optimized, you know, so that casual gamers feel good about their rage turbo agp ?
Any followup news about this?
Yes, disable SLI
Its no insanly fast card, its a single card SLI setup.
Unless you have rewriten all shaders to be SLI optimized / changed the driver settings to a different SLI mode, your performance will at best be the one of a single gpu (as you lock the second one till the first has rendered the whole frame in alternating frame rendering), likely slower
SLI does not require you to rewrite all shaders. All it requires is making sure frames do not depend on previous frames.
Aras, and is it possible to describe how we can be sure in UNITY that the frame doesn’t use stuff from previous frame? I allready understood from a previous post of yours that motion blur is such a nono, but what are the other things ?
I understand that as soon as you use 1 of the prohibited features, the SLI is useless, so maybe we should try to know very well whats all prohibited to have SLI kick in…
Tns,
Bart
Thats what I meant by that.
Some shaders are already optimal for SLI / CF usage, but some aren’t
@Educasoft: Motion Blur is likely one of the best examples for SLI unfriendlyness as the shader depends on on informations from the last frame so the last frame has to be rendered before this shader can be computed, basically making your 2 card setup a 0.8 card setup at best as you stall the whole frame rendering with it.
A potential way to adress this issue is to rewrite the past dependency to use the frame x-frames ago where x is the SLI / CF grade (2,3,4 are likely what you currently meat)
Also using the 2.6 features that allow you to write “DX10 style render pipelines” are a thing that need to be written with sli in mind