stringtranslate.com

Ala

En informática, WinG (pronunciado Win Gee ) es una interfaz de programación de aplicaciones que fue diseñada para proporcionar un rendimiento gráfico más rápido en entornos operativos Windows 3.x , y se posicionó inicialmente como una forma de ayudar a los desarrolladores de juegos a portar más fácilmente sus juegos DOS a Microsoft Windows , [1] aunque rápidamente se suspendió a favor de DirectX .

Fondo

WinG solucionó dos problemas. El primero fue que Windows 3.x no admitía la creación de contextos de dispositivo (DC) basados ​​en mapas de bits independientes del dispositivo, sino solo en dispositivos de visualización reales. Una limitación importante de los DC de la interfaz de dispositivo gráfico (GDI) era que solo se podían escribir. Una vez escritos, los datos no se podían recuperar. El segundo problema fue que todo el dibujo de GDI se implementaba en los controladores de video de Windows 3.x. Esto incluía el dibujo de mapas de bits. Obviamente, el rendimiento de dichas rutinas variaba según los controladores.

Alex St. John , uno de los creadores de DirectX , dijo en una entrevista de 2000 que,

WinG era una tecnología que estaba desarrollando Chris Hecker en el grupo de investigación y, en ese momento, era uno de los pequeños proyectos de Microsoft Skunkworks , de perfil muy bajo y poco convencional. Básicamente, se trataba de reparar controladores de Windows dañados para que funcionaran más rápido y de manera más aceptable. Al utilizarla, pudimos crear una API de video que podía ejecutar DOOM casi tan rápido en Windows como en DOS. [2]

Microsoft anunció WinG en la Game Developers Conference de 1994 , demostrándolo con un port de Doom por parte de id Software . [3] WinG se lanzó el 21 de septiembre de 1994. [4] WinG, aunque interesante, todavía se basaba fundamentalmente en dibujar mapas de bits en la memoria y generar fotogramas después de que se hiciera el dibujo. Como resultado, WinG quedó obsoleto y se creó DirectX . Sin embargo, Windows NT 3.5 y Windows 95 introdujeron CreateDIBSection para brindar soporte para crear controladores de dominio basados ​​en DIB y los controladores de video también mejoraron con el tiempo.

Implementación

WinG introdujo un nuevo tipo de controlador de dominio llamado WinGDC, [5] que permitía a los programadores leer y escribir en él directamente usando mapas de bits independientes del dispositivo (DIB) con el controlador wingdib.drv. En efecto, les dio a los programadores la capacidad de hacer con Windows lo que habían estado haciendo sin limitaciones de acceso al hardware en DOS durante años. Los programadores podían escribir DIB en el WinGDC, pero aún tendrían acceso a los bits individuales de los datos de la imagen. Esto significaba que se podían escribir algoritmos gráficos rápidos para permitir un desplazamiento rápido, sobredibujo, rectángulos sucios, doble buffering y otras técnicas de animación. WinG también proporcionó un rendimiento mucho mejor al transferir datos gráficos a la memoria física del dispositivo gráfico. Dado que WinG usaba el formato DIB, era posible mezclar llamadas a la API GDI original y llamadas a WinG. [5]

WinG también realizaría una prueba de creación de perfiles de hardware/controlador de gráficos en la primera ejecución del programa para determinar la mejor manera de dibujar DIB. Esta prueba mostraba una ventana llena de líneas curvas rojas, algunas de las cuales se tambaleaban a medida que se probaba el rendimiento. Una vez que WinG hubiera determinado las llamadas más rápidas que no causaban corrupción de gráficos, se guardaría un perfil para que no fuera necesario realizar la prueba nuevamente.

Apoyo

El soporte de WinG listo para usar (es decir, como una API independiente de Win32) se eliminó en Windows 98 Second Edition (que integraba DirectX 6), ya que no hacía nada más que pasar a las API de Win32 que estaba encapsulando (incluida CreateDIBSection). Las DLL de WinG a veces se distribuían con una aplicación, en cuyo caso simplemente se trataba de copiar los archivos wing.dll, wing32.dll, wingde.dll, wingdib.drv y wingpal.wnd al directorio system32 (para Windows de 32 bits) o al directorio SysWOW64 (para Windows de 64 bits) para recuperar el soporte para todo el sistema.

Lista de aplicaciones que utilizan la API de WinG

Véase también

Referencias

  1. ^ Hecker, Chris (1 de junio de 1997). "A Whirlwind Tour of WinG". Gamasutra . Consultado el 19 de enero de 2009 .
  2. ^ Colayco, Bob (7 de marzo de 2000). "Entrevista a Alex St. John". firingsquad.com. Archivado desde el original el 6 de octubre de 2009.
  3. ^ Wilson, Johnny L.; Brown, Ken; Lombardi, Chris; Weksler, Mike; Coleman, Terry (julio de 1994). "El dilema del diseñador: la octava conferencia de desarrolladores de juegos de computadora". Computer Gaming World . págs. 26–31.
  4. ^ Eisler, Craig (20 de febrero de 2006). "DirectX entonces y ahora (parte 1)". Reflexiones de Craig . Consultado el 19 de enero de 2008 .
  5. ^ ab "HOWTO: Cómo combinar GDI y WinG (MSKB125928)". Base de conocimientos . Microsoft . Consultado el 19 de enero de 2009 .
  6. ^ Reseña de Microsoft Return of Arcade 1996: juegos clásicos en RGB

Enlaces externos