Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Win32: Is there a replacement GDI32.dll that uses hardware acceleration?

Has anyone out there created a version of GDI32.dll that takes advantage of hardware acceleration available on the machine? gdiplus.dll?

Starting with Windows Vista, GDI is no longer hardware accelerated. (GDI+ was never hardware accelerated). Without Microsoft fixing GDI (and GDI+) to be able to run well on the computer: native applications (C++ MFC, Delphi, etc), and managed WinForms applications, will continue to run poorly forever.

While i could use Direct2D for business applications, i cannot control the fact that the development environment still creates controls, with decades of library support code, that assumes the presence of GDI.


Application Compatibility: Graphical Device Interface (GDI):

GDI primitives such as LineTo and Rectangle are now rendered in software rather than video hardware, which greatly simplify the display drivers.

Windows And Video Memory

In XP GDI is GPU accelerated to various degrees depending on how the OS is configured or the device driver (for details see Hooking Versus Punting). In Vista, GDI is not GPU accelerated

Comparing Direct2D and GDI

As a result, in Windows Vista, the GDI DDI display driver was changed to be only implemented by a Microsoft supplied driver, the Canonical Display Driver (CDD). GDI rendered to a system memory bitmap. Dirty regions were used to update the video memory texture which the window manager uses to composite the desktop.

like image 714
Ian Boyd Avatar asked Apr 14 '10 19:04

Ian Boyd


People also ask

Is GDI+ hardware accelerated?

GDI is hardware accelerated on Windows XP, and accelerated on Windows 7 when the Desktop Window Manager is running and a WDDM 1.1 driver is in use. Direct2D is hardware accelerated on almost any WDDM driver and whether or not DWM is in use. On Vista, GDI will always render on the CPU.

Is GDI GPU accelerated?

The GDI Hardware Acceleration feature introduced with Windows 7 provides accelerated core graphics device interface (GDI) operations on a graphics processing unit (GPU).

What is hardware accelerated window?

Hardware acceleration is the process by which application offloads computing tasks onto specialized components. It allows greater efficiency on the system than it's when using a general-purpose CPU.

What is GDI in computer?

The Microsoft Windows graphics device interface (GDI) enables applications to use graphics and formatted text on both the video display and the printer. Windows-based applications do not access the graphics hardware directly. Instead, GDI interacts with device drivers on behalf of applications.


1 Answers

It seems that Vista was a special case in the history of GDI performance. Both articles below show that the future for GDI looks bright again.

http://msdn.microsoft.com/en-us/library/ff729480%28VS.85%29.aspx

GDI is hardware accelerated on Windows XP, and accelerated on Windows 7 when the Desktop Window Manager is running and a WDDM 1.1 driver is in use. Direct2D is hardware accelerated on almost any WDDM driver and regardless of whether DWM is in use. On Vista, GDI will always render on the CPU.

http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx

Based on real-world application statistics, ... we worked with our graphics IHV partners to provide support in their drivers to accelerate the most commonly used GDI operations.

like image 163
QBziZ Avatar answered Sep 21 '22 08:09

QBziZ