Problem with RenderWindow.WindowMovedOrResized()

WarehouseJim

08-09-2010 17:37:45

We've recently got an AlienWare M17x with Ati Radeon Mobility 5850 and I'm using Direct3D9 RenderSystem.

I have a problem when I call renderWindow.WindowMovedOrResized(), renderWindow.Height and renderWindow.Width are wrong, while Windows Forms reports the correct size. This causes some issues with Miyagi as well as making the screen look squashed.

I have gone through some of the source code, and in OgreD2D9RenderWindow.cpp (~L842) it looks like the functions ultimately called are GetWindowRect and GetClientRect, which I assume are the ones at http://msdn.microsoft.com/en-us/library/ms633519%28VS.85%29.aspx and http://msdn.microsoft.com/en-us/library/ms633503%28v=VS.85%29.aspx.

I wanted to check that MOgre doesn't change these, as far as anyone knows, and I was wondering if anyone knew if they were likely written in the graphics driver i.e. suggesting a bug with either the graphics driver or the graphics card (which is my hunch).

smiley80

08-09-2010 18:26:51

Works correctly for me (ATI Radeon HD 5770, Catalyst 10.7, Direct3D rendersystem) when using a Form as external window.
After calling WindowMovedOrResized the RenderWindow's size equals the Form's ClientSize.

WarehouseJim

09-09-2010 09:20:21

It works correctly for me as well with exactly the same screen resolution (1920x1200) Radeon 5850, Windows 7 64bit, but on a desktop computer. The Alienware keeps on having glitches with the display driver as well (occasional 2 second black screens and the the driver restarting). Both points suggest that there's a problem on the ATI side, whether it's hardware or software, but I just wanted to get a second opinion before I finally lay the blame somewhere else. Let's be honest, <1% of the bugs I would like to attribute to other parties turn out to be their fault!

issingle

09-09-2010 15:17:38

Works correctly for me(ATI X1300 WinXP 1280*800 ), a panel control as Render Window. :D

smiley80

09-09-2010 15:59:20

Maybe the card has issues with losing/restoring a Direct3D device. Does it work with OpenGL?