World Library  
Flag as Inappropriate
Email this Article


In computing, WinG (pronounced Win Gee) is an application programming interface that provides faster graphics performance on Windows 3.x operating environments, and was positioned as a way to help game developers more easily port their DOS games to Microsoft Windows.[1] The WinG interface was also supported in Windows 95, Windows 98 and Windows NT 4.0, but Windows 98 Second Edition, Windows 2000 and later versions of the operating system did not support it.


  • Background 1
  • Implementation 2
  • Support 3
  • List of applications using WinG API 4
  • See also 5
  • References 6


The original Windows Graphics Device Interface (GDI) was designed with static images in mind, making its animation capabilities very limited. The GDI provides an interface to the graphics hardware that is device independent, that is, a program written using the GDI will work on all graphics and printer hardware, provided suitable Windows GDI drivers for the hardware are installed on the system. This means that graphics cannot be written to the physical framebuffer on the graphics hardware directly and must be written to a logical graphics "device context" (DC) provided by the GDI, which is then translated by the GDI and the device drivers to suit the target hardware device and is written to its physical frame buffer in an appropriate manner.[1]

The major limitation of the GDI DCs was that they were write-only. Data, once written, could not be retrieved. This was because the contents of the DC was device dependent, and data read from it would make no sense to the programmer. In order to do animation using the GDI DC, all of the animation frames needed to be manipulated in system memory and then each frame needed to be copied into a GDI DC for display on the graphics device. This was a very slow process.

Alex St. John

, one of the creators of DirectX, said in a 2000 interview that,

WinG first shipped on September 21, 1994.[3] The success of WinG in enabling high-performance game development on Windows led directly to the inception of DirectX, which became the standard game development platform for Microsoft Windows, and later for the Xbox and Xbox 360 video game consoles.


WinG introduced a new type of DC called a WinGDC,[4] which allowed programmers to both read and write to it directly using device-independent bitmaps (DIBs) with the wingdib.drv driver. Effectively, it gave programmers the ability to do with Windows what they'd been doing without hardware access limitations in DOS for years. Programmers could write DIBs to the WinGDC, yet would still have access to the individual bits of the image data. This meant that fast graphics algorithms could be written to allow fast scrolling, overdraw, dirty rectangles, double buffering, and other animation techniques. WinG also provided much better performance when blitting graphics data to physical graphics device memory. Since WinG used the DIB format, it was possible to mix original GDI API calls and WinG calls.[4]

WinG would also perform a graphics hardware/driver profiling test on the first execution of the program in order to determine the best way to manipulate the graphics hardware. This test showed a window full of red curved lines, sections of which would wobble as performance was tested. Once WinG had determined the fastest calls that did not cause graphics corruption, a profile would be saved so that the test would not need to be performed again.


WinG out-of-the-box support (i.e. as a separate API to Win32) was dropped in Windows 98 Second Edition (which integrated DirectX 6), as it did absolutely nothing but pass through to the Win32 APIs that it was wrapping. WinG DLLs were sometimes distributed with an application, at which point it merely became a matter of copying the files wing.dll, wing32.dll, wingde.dll, wingdib.drv and wngpal.wnd to the system32 directory to regain system-wide support.

List of applications using WinG API

See also

  • Windows API
  • DirectDraw, WinG's successor
  • DOSBox, allows emulation of DOS programs, as opposed to converting their executables by themselves.


  1. ^ a b  
  2. ^ Colayco, Bob (7 March 2000). "Alex St. John Interview". Retrieved 2009-01-19. 
  3. ^ Eisler, Craig (February 20, 2006). "DirectX Then and Now (Part 1)". Craig's Musings. Retrieved 2008-01-19. 
  4. ^ a b "HOWTO: How to Mix GDI and WinG (MSKB125928)". Knowledge Base.  
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Hawaii eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.