Hi all,
is Unity3D render engine taking advantage from multiple gpu in SLI?
Is there any best practice for this scenario?
Thanks in advance for any good feedback! ![]()
Kenshin
Hi all,
is Unity3D render engine taking advantage from multiple gpu in SLI?
Is there any best practice for this scenario?
Thanks in advance for any good feedback! ![]()
Kenshin
Isn’t SLI supposed to be pretty much automatic, like the OpenGL/DirectX drivers are abstracted on top of the gpu split to make it seem like there really is only one output as far as the app is concerned?
@imaginaryhuman_1
I am working on a visual simulation that work with multi-monitor.
I am using a PC with GeForce GTX 980 3-way SLI and I am trying to understand:
Do you have any experience on this?
Nobody here? ![]()
It looked to me like imaginaryhuman was suggesting that you don’t have to do anything special, that it might be done by the drivers which means it has nothing to do with Unity. Don’t quote me on that though, I don’t really know. I’m just repeating what I think he was saying. ![]()
This came up when I Googled “How does SLI work” :
http://www.overclock.net/t/1210604/how-does-sli-work
Here’s what somebody wrote there:
"Put simply, in a dual card set up, for example, both cards are given the same scene or frame to render, but the driver sends half of the frame to the master card and the other half to the slave card. The master card renders its share of the frame while the slave or second card renders the other half. When the slave card is done it sends its buffer to the master card and the master card consolidates the two pieces before finally outputting the buffer to the screen.
There is two ways that SLI works.
One is called split frame rendering - this is where the frame it split horizontally in half, which splits the workload 50/50 for each card. It intelligently splits the workload based on the geometry of the frame, for example if there is little to render on the top half (e.g. sky) and a lot on the bottom (smoke, debris, ground textures) the dividing line will move to balance the workload between each card. Split frame rendering is pretty poor at scaling the work when compared against alternate frame rendering (below).
The second is called alternate frame rendering. Each card renders full frames, but in sequential order, for example the master card might process even frames (2,4,6) while the slave card processes odd frames (3,5,7). When the slave card finishes work on a frame the results are sent to the master card, usually via the SLI bride (as described above). Theoretically this should result in the rendering time being cut in half, which should technically linearly scale the performance by double. This is not often the case in practice though, depending on drivers, games, etc.
I’m sure people can add to that "
If that’s the case, then you don’t have to do anything at all. The graphics drivers take care of the details. Someone correct me if I’m wrong, but that’s how it sounds like it works.
Thanks Todd for you additional explanation.
I understood what imaginaryhuman wrote, but I am interested now to know if exist or not any best practice to improve render speed for unity3d.
That’s all ![]()
I would think probably not because the multiple card stuff is just splitting up the workload, but I don’t know for sure.