Home » Developing U++ » U++ Developers corner » GDI, and therefore, Draw performance on Vista
GDI, and therefore, Draw performance on Vista [message #11758] |
Tue, 25 September 2007 11:34 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi folks.
Has anybody done any work on creating a GDI+ based intermediate layer for Draw?
I'm not entirely sure, but it appears to me that Microsoft has effectively put GDI on a side track on Windows Vista. If I get it right from what I've read from a few sources on the web, any GDI drawing is now done by the CPU -- not by the GPU as before -- to an image buffer which is then pushed to the graphics device as a bitmap. The performance penalty is huge. (Using aero or not does not appear to make any difference at least on my platform: AMD64/GeForce7600GS/Vista64.)
From what I assume, GDI+ should use GPU. If anybody knows better, please let me know.
// Tom
|
|
|
|
|
|
|
|
Re: GDI, and therefore, Draw performance on Vista [message #11765 is a reply to message #11764] |
Tue, 25 September 2007 13:18 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Unfortunately I do not have Vista32, just Vista64Business.
To see if this has something to do with running a 32-bit application on a 64-bit platform, I just started to build (and put up a build method for) a 64-bit version of my software using Upp709dev1. It seems, I'll need to fix (read: make 64-bit compatible) a couple of things before I can get anything to benchmark.
I'll post the results when/if I get them out.
// Tom
|
|
|
|
Re: GDI, and therefore, Draw performance on Vista [message #11801 is a reply to message #11766] |
Wed, 26 September 2007 11:04 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
OK, finally I'm back on track. The solution to get expected performance on Vista 64 is that BackPaint() needs to be enabled on the control. This does not have noticeable speed effect on WinXP or Win2k, but on Vista it results in about 4.5x performance penalty on heavy vector graphics, if BackPaint() is not used.
Another subject: Support for Microsoft Windows SDK v6.0. I went through compiling with x64 the packages (from Upp709dev1) I need for my software and noticed some issues that need to be addressed. Please find attached the list of warnings/errors and also the MSC8x64.bm file that works with Microsoft Windows SDK v6.0 x64 on Windows Vista. I chose not to submit the fixes, since correcting the code takes less time than verifying my thoughts about it.
Mirek, I hope you can pick these up for the next developer version of Upp.
// Tom
|
|
|
|
|
Goto Forum:
Current Time: Fri Mar 29 07:18:28 CET 2024
Total time taken to generate the page: 0.01832 seconds
|