second monitor - no more gui
I seem to have an issue when I move the window over to a second monitor.
The gui disappears and stays gone.
In the console it says the device was destroyed.
I'm using Ogre.
Anyone else have this issue?
The gui disappears and stays gone.
In the console it says the device was destroyed.
I'm using Ogre.
Anyone else have this issue?

Re: second monitor - no more gui
Hi,
Are you using a different device for each monitor?
Where are you reading that the device is being destroyed? Could you paste it here please.
Thanks!
Are you using a different device for each monitor?
Where are you reading that the device is being destroyed? Could you paste it here please.
Thanks!
Re: second monitor - no more gui
I use Ogre and this happens to me as well. Both my monitors are plugged into a single graphics card. Ogre appears to be unloading and reloading all textures when changing monitors. I was using a different UI solution before Noesis and the issue happened with that as well. I haven't been terribly concerned as it is a pretty low use-case but if there is something that can be done that would be nice.
Re: second monitor - no more gui
Yes, ogre is recreating a new device. I don't understand why it is doing that, anyway it is a good opportunity to add support for hot device change in our rendersystem.
-
- Nir Hasson
- Posts: 71
- Joined:
- Contact:
Re: second monitor - no more gui
Ogre create one device per render window on D3D9 render system, I had the honor to implement it a while ago.. As new user to Noesis it would be nice to have your system supports multiple devices as well. A bypass solution for now might be rendering all GUI elements of the secondary monitor to dedicated render target a display it's content on the other devices..
Re: second monitor - no more gui
Yes, it could be implemented, although it is not trivial because having different devices won't allow us to share resources. Now we are internally sharing resources between renderers (meshes cache, texture glyphs, ...).
Any way, there is something I do not understand. When I have a single window and it is moved to a new monitor, the device is also recreated. Is that behavior on purpose?
Any way, there is something I do not understand. When I have a single window and it is moved to a new monitor, the device is also recreated. Is that behavior on purpose?
-
- Nir Hasson
- Posts: 71
- Joined:
- Contact:
Re: second monitor - no more gui
The book solution for handling multiple devices resources is simply to hold a set of resouces per device and use them in the correct context.Yes, it could be implemented, although it is not trivial because having different devices won't allow us to share resources. Now we are internally sharing resources between renderers (meshes cache, texture glyphs, ...).
The application code should issue a call for IRenderer::SetCurrentDevice before rendering to the selected device and then you'll be able to use the correct resouces set.
You'll also have to add callbacks for Device created and Device destroyed..
On Vista and above you can take advantage of the sharing resouces capability, but device must be created as D3D9Ex devices.
http://msdn.microsoft.com/en-us/library ... s.85).aspx
There is a sample project by Microsoft that shows sharing surfaces capability between multiple rendering APIs
http://archive.msdn.microsoft.com/D3D9E ... aseId=3435
Yes it is.Any way, there is something I do not understand. When I have a single window and it is moved to a new monitor, the device is also recreated. Is that behavior on purpose?
The reason is that Device is created on a specific physical Adapter, actually the first parameter for IDirect3D9::CreateDevice is the adapter index, and performance is tightly affected from that fact.
If the device won't be changed when moving to different physical window controlled by different physical adapter the driver will perform heavy copy operation before displaying any content and you'll get a noticeable performance hit.
You can see detailed explanations in the D3D9 Sample framework - look for DXUTCheckForWindowChangingMonitors function.
Re: second monitor - no more gui
Thanks a lot for all the explanation. Then if I understand you correctly there is no support for multihead (http://msdn.microsoft.com/en-us/library ... 85%29.aspx) in Ogre, right?Yes it is.Any way, there is something I do not understand. When I have a single window and it is moved to a new monitor, the device is also recreated. Is that behavior on purpose?
The reason is that Device is created on a specific physical Adapter, actually the first parameter for IDirect3D9::CreateDevice is the adapter index, and performance is tightly affected from that fact.
If the device won't be changed when moving to different physical window controlled by different physical adapter the driver will perform heavy copy operation before displaying any content and you'll get a noticeable performance hit.
You can see detailed explanations in the D3D9 Sample framework - look for DXUTCheckForWindowChangingMonitors function.
-
- Nir Hasson
- Posts: 71
- Joined:
- Contact:
Re: second monitor - no more gui
Multi head support was implemented as proof of concept before the full multiple monitors support.
It had many issues with some scenarios (VSync didn't work well) and it was limited to two monitors configuration. The current solution of Ogre support as many monitors as possible - I worked with six monitors that time
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47621
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48032
It had many issues with some scenarios (VSync didn't work well) and it was limited to two monitors configuration. The current solution of Ogre support as many monitors as possible - I worked with six monitors that time

http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47621
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48032
Re: second monitor - no more gui
Hehe nice photos!
We will have to study thoroughly the implications of this in noesisGUI. They are not easy changes, but we should incorporate them soon or later.
We will have to study thoroughly the implications of this in noesisGUI. They are not easy changes, but we should incorporate them soon or later.
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot] and 10 guests