Direct3d Multihead implementation

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
User avatar
Thieum
Gnome
Posts: 342
Joined: Wed Apr 26, 2006 5:13 pm
Location: Bordeaux, France
Contact:

Post by Thieum » Tue Nov 25, 2008 11:13 pm

you can no longer use the span mode with vista, you have to use this patch.
I don't know if there is really a performance hit when you run a 3d application in span mode, i have never made a comparison. but i know there is a huge performance hit when move a windowed rendering from a screen to another, maybe there is the same thing in span mode

edit: I made a few tests. There is a small performance hit when you use a single fullscreen window with two viewports in horizontal span mode.

on demo_fresnel with windows xp, directx, a 8800GT and a core2 duo :
- 1 fullscreen window (1280*1024) : 180 fps
- 2 fullscreen windows (2*1280*1024) with multihead : 180 fps
- 1 fullscreen window, 1 viewport (2560*1024) with horizontal span : 170 fps
- 1 fullscreen window, 2 viewports (2*1280*1024) with horizontal span : 140 fps
I'm a bit suprised by the performance hit between 1 and 2 viewports because there is no hit between 1 and 2 fullscreen windows
0 x

MattStevens
Goblin
Posts: 239
Joined: Mon Apr 07, 2008 10:27 pm

Post by MattStevens » Wed Nov 26, 2008 3:43 pm

Thanks for the info. The Vista issue is a none-issue for us since we control the target machine. For the performance however, I can't really use your numbers. These 2 tests

Code: Select all

- 1 fullscreen window (1280*1024) : 180 fps 
- 2 fullscreen windows (2*1280*1024) with multihead : 180 fps
are clearly wrong. You can't render twice the number of pixels and still get the same FPS.

Also, for us, only the full screen mode is important.

My question however, was, if we have 2 graphic card in SLI mode, with 4 screen attached and, in Ogre, we only have 1 render window (4 viewports) horizontally spanned acrossed all 4 screens, will the computer use the power of both cards for rendering or do we need 1 render window per graphic card ? I'm pretty sure it will work with only 1 render window, but for some reason I have some doubts. (The setup isn't ready yet so I can't test it)

- Matt Stevens
0 x

User avatar
Thieum
Gnome
Posts: 342
Joined: Wed Apr 26, 2006 5:13 pm
Location: Bordeaux, France
Contact:

Post by Thieum » Wed Nov 26, 2008 4:05 pm

MattStevens wrote:Thanks for the info. The Vista issue is a none-issue for us since we control the target machine. For the performance however, I can't really use your numbers. These 2 tests

Code: Select all

- 1 fullscreen window (1280*1024) : 180 fps 
- 2 fullscreen windows (2*1280*1024) with multihead : 180 fps
are clearly wrong. You can't render twice the number of pixels and still get the same FPS.
This was a quick test. there was a lot oh background process on the machine, the fps varied between 190-170 fps. i took the average fps.
there was a small difference with two renders. maybe the fps was limited by the cpu.

I don't know if it can work with SLI but I know that it will not work with two non-SLI cards. If it works, and if you can get a decent fps, the 4 viewports with 1 window is of course the best solution :)
I would also be interested to know if it works
0 x

kiske
Greenskin
Posts: 106
Joined: Wed Jul 09, 2003 1:15 pm
Location: Trentino - ITALY

Re: Direct3d Multihead implementation

Post by kiske » Tue Jan 13, 2009 11:05 am

Hi,

I've made the patch work with 1.6, I'd like to publish the new patch file, but I've never used diffutils, and at this time I don't have any time to learn how to use it... could someone please point me out a simple command line to produce the patch?

Thanks!
0 x
<Kiske>

Well can you blame us? For living our dreams...
- Twisted Sister -

User avatar
Thieum
Gnome
Posts: 342
Joined: Wed Apr 26, 2006 5:13 pm
Location: Bordeaux, France
Contact:

Re: Direct3d Multihead implementation

Post by Thieum » Tue Jan 13, 2009 12:00 pm

Hi and thanks for your help

But Nir Hasson already converted and improved the patch for ogre 1.6 (and it will be integrated in ogre 1.8 )
see this post : http://www.ogre3d.org/forums/viewtopic. ... 18#p318718
0 x

kiske
Greenskin
Posts: 106
Joined: Wed Jul 09, 2003 1:15 pm
Location: Trentino - ITALY

Re: Direct3d Multihead implementation

Post by kiske » Tue Jan 13, 2009 3:23 pm

:oops:

I haven't seen it...
Next time I'll look closer into the forums... :)
0 x
<Kiske>

Well can you blame us? For living our dreams...
- Twisted Sister -

ludm
Gnoblar
Posts: 18
Joined: Thu Jul 10, 2008 9:37 am

Re: Direct3d Multihead implementation

Post by ludm » Mon Jan 19, 2009 2:22 pm

Hello,

I have Ogre 1.6 and I tried to patch the source code, but I have an error.
Here is the result of the patching process :

Code: Select all

C:\ogrenew>patch -p0 -i multipleRenderWindows_1.6.patch
patching file OgreMain/include/OgreCommon.h
Hunk #1 succeeded at 435 (offset -1 lines).
patching file OgreMain/include/OgreRenderSystem.h
patching file OgreMain/include/OgreRenderSystemCapabilities.h
Hunk #1 succeeded at 265 (offset -4 lines).
missing header for unified diff at line 80 of patch
can't find file to patch at input line 80
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|7 +374,7 @@
|               void setNumMultiRenderTargets(ushort num)
|               {
|                       mNumMultiRenderTargets = num;
|-              }
|+              }
|
|               ushort getNumWorldMatrices(void) const
|               {
--------------------------
File to patch:
I don't understand the problem.
0 x

hkdjam
Gnoblar
Posts: 20
Joined: Thu Oct 23, 2008 9:03 am

Re: Direct3d Multihead implementation

Post by hkdjam » Tue Jan 20, 2009 3:29 pm

I have exactely the same problem.
I try to aply the patch to Ogre 1.6 but it genere the same error.
Help , Please.
0 x

User avatar
Thieum
Gnome
Posts: 342
Joined: Wed Apr 26, 2006 5:13 pm
Location: Bordeaux, France
Contact:

Re: Direct3d Multihead implementation

Post by Thieum » Sun Jan 25, 2009 12:27 am

you should post this issue in this thread because I am not the author of the patch for ogre 1.6
however, I did not had this error
I just had a problem patching OgreD3D9RenderSystem.cpp (but I corrected this by hand)
0 x

Post Reply