Windows 7 provides tools to manage old programs with GDI or new DWM / WDDM?

On Windows XP, the Win32 API exposes controls using GDI / GDI +. Now I'm at 7, so if I use the API functions, will the rendering be handled automatically by DWM / WDDM (sic by DirectX)? or will it continue rendering with GDI?

Or similarly, an old application written with WinAPI will render using GDI also on Windows 7?

Thanks in advance for your help:)

+2


source to share


3 answers


In my experience, if the Aero display is going to be rendered with this whole system, it just won't be obvious to your application. You will still be rendering in GDI, but it will be a back buffer, not directly to the screen buffer (actually more complicated than that). This way, your old app can benefit from new features like live preview effects without being aware of them.



Indeed, your application doesn't notice the difference. The API is still the same API as before, and works as you expect. There are ways to take advantage of this, but you must choose to actually use it.

+8


source


If your application is written to use GDI, it will continue to use GDI. The underlying implementation has changed a lot (as I recall, most of the hardware accelerations were removed in Vista and reintroduced in a new form in Win7)



But it won't magically migrate to Direct2D, no.

+3


source


Performance wise, this is the same old farce and, as usual, "Do your own benchmarking" on OS-es. But almost a decade old OS for everything GDI is still spanking Windows7 and a lot of applications will be incredibly susceptible to XP .. Sadness. Especially when you consider that translating such an old API (as a compatible interface) should be trivial to any new driver or display technology.

Apparently some operating systems like blitting are supported, but look at the output of your 2D GDI target application and judge for yourself.

Here are a few notes, but please make your own for a dozen scenarios and compare, especially if it's GDI intensity like a million audio / video apps (no wonder the iFruit boys are gaining a share).

http://www.passmark.com/forum/showthread.php?t=2233

And while you find all the typical and fluffy explanations of the MSDN blog that get "technical" (that is, superficial absurdity), the reason is very simple: buy a new OS, pull the carpet on the old API and complicate it even more by letting new APIs work with it (but don't help old, easily executable ones by providing new dlls and .libs).

For one history lesson and how difficult it was to translate GDI calls to Direct2D or use libgdiplus from Mono and get ideas etc, here's the propaganda:

http://blogs.msdn.com/directx/archive/2009/05/12/2d-drawing-apis-in-windows.aspx

-1


source







All Articles