Hi,
I have a big problem. I like to render 6 windows on 6 displays fullscreen (two graphic cards). I get 4 fps on each screen. The GPUs are used about 6%, one core of the 12 CPU cores is at 100% the rest is between 1% and 3%. It looks like the render loop is the bottle neck. I'm slightly shocked about the result. Any ideas how to solve this issue?
Thx,
Transporter
How to speed up scene?
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
-
- Goblin
- Posts: 213
- Joined: Sat May 26, 2012 10:37 am
- Location: Russia
- x 13
Re: How to speed up scene?
It must be one process? Maybe you can start more then one instance of app? Or use multithreading?
Voltage Engine - boost your ogre project with realtime physics and interactive scripting!
OgreBullet & CMake - easy to use bullet physics integration.
OgreBullet & CMake - easy to use bullet physics integration.
-
- Troll
- Posts: 1394
- Joined: Wed Aug 02, 2006 9:41 am
- Location: Bucharest
- x 94
Re: How to speed up scene?
I think there was some discussion of the forums about multi-monitor support and issues with it.
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
Re: How to speed up scene?
Of course I use multithreading, but this doesn't solve the problem. Ogre use multithreading only for resource loading, not for calculations.
I can't use Ogre on more than two displays at once. Maybe I have to switch the graphic engine.
I can't use Ogre on more than two displays at once. Maybe I have to switch the graphic engine.
-
- Ogre Magi
- Posts: 1172
- Joined: Mon Aug 04, 2008 7:51 pm
- Location: Manchester - England
- x 76
Re: How to speed up scene?
Assaf has done this I believe (might be getting people mixed up) but try searching his posts
There are 10 types of people in the world: Those who understand binary, and those who don't...
-
- Silver Sponsor
- Posts: 2703
- Joined: Mon Aug 29, 2005 3:24 pm
- Location: Kuala Lumpur, Malaysia
- x 51
Re: How to speed up scene?
I get to render 6 monitors, but it uses two computers (two graphic cards each) as to ensure even the most complex scene can retain at least 60hz.
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
-
- Gnoblar
- Posts: 11
- Joined: Wed May 15, 2013 5:32 pm
Re: How to speed up scene?
If it's a panorama effect you're going for, you could use one large virtual window that spans multiple monitors.
I know, at one point in time, you could configure NVidia drivers to present several monitors as one logical display. ( i.e: 2x 1080p would equal 1x 3840 x 1080 display )
I think the issue is that with 6 screens ... if they're all culling and shadow mapping that's 6 viewports x # cameras per viewport. I know for me, that would be ~30 renders of the scene. That's 30 cullings, 30 render queue processings, etc. You might be able to re-use some of that work with a compositor, maybe?
I know, at one point in time, you could configure NVidia drivers to present several monitors as one logical display. ( i.e: 2x 1080p would equal 1x 3840 x 1080 display )
I think the issue is that with 6 screens ... if they're all culling and shadow mapping that's 6 viewports x # cameras per viewport. I know for me, that would be ~30 renders of the scene. That's 30 cullings, 30 render queue processings, etc. You might be able to re-use some of that work with a compositor, maybe?
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
Re: How to speed up scene?
If it's 6 monitors using 2 cards, how does it perform with 3 monitors on 1 card in comparison? Having to share all the resources between two cards may be causing problems.
(Not a fix, just trying to narrow down the cause)
(Not a fix, just trying to narrow down the cause)
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
Re: How to speed up scene?
One window in window mode spread over all 6 displays (extended desktop) results is 22 fps. I'll try to setup two program instances (one for each card) tomorrow. I measured up to 60 fps if I cover two displays on one card with a window. Later, I like to setup 3 instances and 6 instances for tests about the performence.Kojack wrote:If it's 6 monitors using 2 cards, how does it perform with 3 monitors on 1 card in comparison? Having to share all the resources between two cards may be causing problems.
(Not a fix, just trying to narrow down the cause)
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
Re: How to speed up scene?
One thing that may be possible (just a theory of mine, not tested) is using a geometry shader for scene duplication. If you are using the 6 displays with 6 render targets, a geometry shader can make 6 duplicates of every triangle it receives and direct them onto different targets using 6 view matrices. So one render operation draws six different views. I've heard of this being done for rendering into all 6 sides of a cube map with one render call (such as for a dynamic cube map reflection of the scene).
Culling is harder in that case though, you could make the frustum wide enough for all 6 cameras or disable it somehow (if this is a wrap around view like a cave system).
What kind of scene is being shown, how do the monitors correspond to the scene, and what hardware is powering it all?
One of my ex students worked on this system:
[youtube]VGlxgKjg1ho[/youtube]
It's 12 IR touchscreen monitors (55 inch each) with a dual projector top display. It's using Unity. To run it, they needed 7 networked Xeon E5-2643 workstations with nvidia gtx 690 cards.
Trying to use Ogre (or any 3d engine) with a complex scene and just a single computer may be unrealistic. Pretty much every serious multi monitor (such as more than 4) system that I've seen (whether ogre or otherwise) uses multiple networked computers.
Culling is harder in that case though, you could make the frustum wide enough for all 6 cameras or disable it somehow (if this is a wrap around view like a cave system).
What kind of scene is being shown, how do the monitors correspond to the scene, and what hardware is powering it all?
One of my ex students worked on this system:
[youtube]VGlxgKjg1ho[/youtube]
It's 12 IR touchscreen monitors (55 inch each) with a dual projector top display. It's using Unity. To run it, they needed 7 networked Xeon E5-2643 workstations with nvidia gtx 690 cards.
Trying to use Ogre (or any 3d engine) with a complex scene and just a single computer may be unrealistic. Pretty much every serious multi monitor (such as more than 4) system that I've seen (whether ogre or otherwise) uses multiple networked computers.
Yep. Ogre with 6 monitors back in 2009. http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48032Zonder wrote:Assaf has done this I believe (might be getting people mixed up) but try searching his posts
-
- Minaton
- Posts: 933
- Joined: Mon Mar 05, 2012 11:37 am
- Location: Germany
- x 110
Re: How to speed up scene?
Yes, but he has not drawn a part of a city - just a few figures. I'll try to get hardware instancing working. Does Ogre perform culling calculations if a scene node is set to invisible? I could cut the map into tiles with a head node on each tile. And I also know which tiles should be visible.Kojack wrote:Yep. Ogre with 6 monitors back in 2009. http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48032Zonder wrote:Assaf has done this I believe (might be getting people mixed up) but try searching his posts