If on the other hand, I turn the pointer shadow off (from the control panel), then my frame rate stays at 14.3 fps no matter what.

Nice eh? That 'little' shadow can nearly halve the frame rate of an OpenGL programme in a window!!!!

Anybody got any clues as to why this happens, or can verify my findings?

lgrosshennig

04-10-2000, 11:43 AM

Well, you are absolutly right http://www.opengl.org/discussion_boards/ubb/smile.gif

I found the same behavior in the beta versions of W2K and reported them, but got no response.

The GDI+ diffuse mouse cursor shadow does not only affect OpenGL, it is affecting DirectX (i.e.Direct3D) and the GDI in general).

The first preperation to GDI+ can be found in W98, where a AlphaBlt function is available (it supports MMX, :cool http://www.opengl.org/discussion_boards/ubb/smile.gif

In W2K there changed it, so it is also capable of using a 3d accelerator (through D3D, of course).

And that's why your framerate is dropping.

I hope I made thinks clear (sorry I'm not an native english speaker)

With Regards,

LG http://www.opengl.org/discussion_boards/ubb/biggrin.gif

FATBUDDHA

04-10-2000, 02:53 PM

Thanks lgrosshennig - that's made things a bit clearer.

I wonder if there's a way of altering someones system settings from within an application, to turn the pointer shadow off... http://www.opengl.org/discussion_boards/ubb/wink.gif

fred

04-11-2000, 01:56 AM

I'd just like to add that this nothing specific to Windows 2000; exactly the same append with win 95/98/NT4 and any animated pointers (at least on a 3DLabs board. ICDs & display drivers from other vendor *might* handle that a bit better).
I don't use Win 2000 so I don't really know if the shadow you're speaking about simply is a standard win32 pointer (hCursor) but if it is the case you probably can use SetCursor()to revert to a standard pointer when the mouse is on your windows.

FATBUDDHA

04-11-2000, 07:44 AM

The problem though, is that the cursor will reduce the OpenGL windows frame rate even if the cursor's not over the OpenGL window.