Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

WinG

From Wikipedia, the free encyclopedia
Windows 3.x graphics API
For other uses, seeWing (disambiguation).

In computing,WinG (pronouncedWin Gee) is anapplication programming interface that was designed to provide faster graphics performance onWindows 3.xoperating environments, and was initially positioned as a way to help game developers more easily port their DOS games toMicrosoft Windows,[1] although it was quickly discontinued in favor ofDirectX.

Background

[edit]

WinG fixed two problems. The first problem that WinG fixed was that Windows 3.x did not support creating Device Contexts (DCs) based on device independent bitmaps, only actual display devices. One major limitation of theGraphics Device Interface (GDI) DCs was that they were write-only. Data, once written, could not be retrieved. The second problem was that all GDI drawing was implemented in the Windows 3.x video drivers. This included the drawing of bitmaps. Obviously performance of such routines varied across drivers.

Alex St. John, one of the creators ofDirectX, said in a 2000 interview that,

WinG was a technology being built byChris Hecker in the research group, and at the time it was one of the small MicrosoftSkunkworks projects, very low profile and off-the-wall. Basically it was fixing broken Windows drivers to make them run faster and more acceptably. Using it, we were actually able to create a video API that could run DOOM almost as fast under Windows as it did in DOS.[2]

Microsoft announced WinG at the 1994Game Developers Conference, demonstrating it with a port byid Software ofDoom.[3] WinG was shipped on September 21, 1994.[4] WinG, while interesting, was still fundamentally based on drawing bitmaps in memory and outputting frames after the drawing was done. As a result, WinG was deprecated andDirectX was built. However, Windows NT 3.5 and Windows 95 introduced CreateDIBSection to provide support for creating DCs based on DIBs and video drivers also eventually improved.

Implementation

[edit]

WinG introduced a new type of DC called a WinGDC,[5] which allowed programmers to both read and write to it directly usingdevice-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 inDOS 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 graphicsalgorithms could be written to allow fast scrolling, overdraw, dirty rectangles,double buffering, and other animation techniques. WinG also provided much better performance whenblitting 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.[5]

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 draw DIBs. 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.

Support

[edit]

WinG out-of-the-box support (i.e. as a separate API to Win32) was dropped inWindows 98 Second Edition (which integratedDirectX 6), as it did nothing but pass through to the Win32 APIs that it was wrapping (including CreateDIBSection). WinGDLLs 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 wingpal.wnd to thesystem32 directory (for 32 bit Windows) orSysWOW64 directory (for 64 bit Windows) to regain system-wide support.

List of applications using WinG API

[edit]

See also

[edit]

References

[edit]
  1. ^Hecker, Chris (1 June 1997)."A Whirlwind Tour of WinG".Gamasutra. Retrieved2009-01-19.
  2. ^Colayco, Bob (7 March 2000)."Alex St. John Interview". firingsquad.com. Archived fromthe original on 6 October 2009.
  3. ^Wilson, Johnny L.; Brown, Ken; Lombardi, Chris; Weksler, Mike; Coleman, Terry (July 1994)."The Designer's Dilemma: The Eighth Computer Game Developers Conference".Computer Gaming World. pp. 26–31.
  4. ^Eisler, Craig (February 20, 2006)."DirectX Then and Now (Part 1)".Craig's Musings. Archived fromthe original on 2012-07-11. Retrieved2008-01-19.
  5. ^ab"HOWTO: How to Mix GDI and WinG (MSKB125928)".Knowledge Base.Microsoft. Retrieved2009-01-19.
  6. ^Microsoft Return of Arcade 1996 review: RGB Classic Games

External links

[edit]
Graphics and UI
Audio
Multimedia
Web
Data access
Networking
Communication
Administration and
management
Component model
Libraries
Device drivers
Security
.NET
Software factories
IPC
Accessibility
Text and multilingual
support
Retrieved from "https://en.wikipedia.org/w/index.php?title=WinG&oldid=1276157587"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp