In computing, WinG (pronounced Win Gee) is an application programming interface that was designed to provide faster graphics performance on Windows 3.x operating environments, and was initially positioned as a way to help game developers more easily port their DOS games to Microsoft Windows, [1] although it was quickly discontinued in favor of DirectX.
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 the Graphics 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 of DirectX, said in a 2000 interview that,
WinG was a technology being built by Chris Hecker in the research group, and at the time it was one of the small Microsoft Skunkworks 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 1994 Game Developers Conference, demonstrating it with a port by id Software of Doom . [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 and DirectX 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.
WinG introduced a new type of DC called a WinGDC, [5] 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. [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.
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 nothing but pass through to the Win32 APIs that it was wrapping (including CreateDIBSection). 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 wingpal.wnd to the system32 directory (for 32 bit Windows) or SysWOW64 directory (for 64 bit Windows) to regain system-wide support.
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.
PowerBASIC, formerly Turbo Basic, is the brand of several commercial compilers by PowerBASIC Inc. that compile a dialect of the BASIC programming language. There are both MS-DOS and Windows versions, and two kinds of the latter: Console and Windows. The MS-DOS version has a syntax similar to that of QBasic and QuickBASIC. The Windows versions use a BASIC syntax expanded to include many Windows functions, and the statements can be combined with calls to the Windows API.
The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running. Programs access API functionality via dynamic-link library (DLL) technology.
Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering, W-buffering, stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.
The Graphics Device Interface (GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers. It was superseded by DirectDraw API and later Direct2D API. Windows apps use Windows API to interact with GDI, for such tasks as drawing lines and curves, rendering fonts, and handling palettes. The Windows USER subsystem uses GDI to render such UI elements as window frames and menus. Other systems have components that are similar to GDI; for example: Mac OS has QuickDraw, and Linux and Unix have X Window System core protocol.
VxD is the device driver model used in Microsoft Windows/386 2.x, the 386 enhanced mode of Windows 3.x, Windows 9x, and to some extent also by the Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02 multitasker (TASKMGR
). VxDs have access to the memory of the kernel and all running processes, as well as raw access to the hardware. Starting with Windows 98, Windows Driver Model was the recommended driver model to write drivers for, with the VxD driver model still being supported for backward compatibility, until Windows Me.
The BMP file format, or bitmap, is a raster graphics image file format used to store bitmap digital images, independently of the display device, especially on Microsoft Windows and OS/2 operating systems.
Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subsequent versions. The first version in the 9x series was Windows 95, which was succeeded by Windows 98 and then Windows Me, which was the third and last version of Windows on the 9x line, until the series was superseded by Windows XP.
San Francisco Canyon Company was a software development company that was contracted by Apple Computer in 1992 to port the QuickTime technology to Microsoft Windows. They made their first release of QuickTime for Windows in November 1992.
A dynamic-link library (DLL) is a shared library in the Microsoft Windows or OS/2 operating system.
Desktop Window Manager is the compositing window manager in Microsoft Windows since Windows Vista that enables the use of hardware acceleration to render the graphical user interface of Windows.
UniDrv is a GDI-based Microsoft Windows universal printer driver and architecture for non-PostScript printers. It is used to simplify driver development of non-PostScript printers for printer manufacturers. Unidrv allows the creation of a printer-specific minidriver in the form of a GPD file, similar to a PPD file, which is much simpler than kernel mode driver development. Unidrv was introduced in Windows 2000 and replaced the Raster Device Driver (RASDD) interface used in Windows NT 4.0 and earlier versions.
Windows Display Driver Model is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista.
The Microsoft Windows operating system supports a form of shared libraries known as "dynamic-link libraries", which are code libraries that can be used by multiple processes while only one copy is loaded into memory. This article provides an overview of the core libraries that are included with every modern Windows installation, on top of which most Windows applications are built.
The SemWare Editor (TSE) is a text editor computer program for MS-DOS, OS/2, Windows and Linux.
The booting process of Microsoft Windows varies between different releases.
In computing, a bitmap graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
In computing, Nano-X is a windowing system which is full featured enough to be used on a PC, an embedded system or a PDA. It is an open source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. The project was renamed from Microwindows due to legal threats from Microsoft regarding the Windows trademark.
Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008.
The Windows 9x series of operating systems refers to a series of Microsoft Windows operating systems produced from 1995 to 2000. They are based on the Windows 95 kernel which is a monolithic kernel. The basic code is similar in function to MS-DOS. They are 16-/32-bit hybrids and require support from MS-DOS to operate.