Это не официальный сайт wikipedia.org 01.01.2023

WinG — Википедия

В вычислительной технике, WinG это библиотека, которая была разработана для обеспечения высокой производительности графики в операционных средах Windows 3.x и, изначально, позиционировалась как компонент, облегчающий разработчикам игр переход на Microsoft Windows из устаревающей DOS,[1] позднее разработка была свёрнута в пользу DirectX.

Предпосылки появленияПравить

WinG исправила две проблемы. Первая проблема, заключалась в том, что Windows 3.x поддерживала только фактические устройства отображения, и не поддерживала создание контекстов устройств (DC) на основе независимых от этих устройств растровых изображений. Одним из основных ограничений оконного менеджера (GDI) было то, что он был доступен только для записи. Данные, однажды записанные, не могли быть прочитаны обратно. Вторая проблема заключалась в том, что вся отрисовка GDI была реализована в видеодрайверах Windows 3.x, включая отрисовку растровых изображений. Очевидно, что производительность варьировалась у разных водителей видеокарт.

Microsoft анонсировала WinG на конференции разработчиков игр 1994 года, продемонстрировав ее с портом Doom от id Software..[2] WinG стал доступен 21 сентября 1994 года.[3] WinG, хоть и представляла интерес, по-прежнему базировалась на предварительной отрисовке растровых изображений в оперативной памяти и выводе кадров только после завершения их рисования. В результате такого подхода, WinG была признанна устаревшей и была заменена на DirectX. Однако, в Windows NT 3.5 и Windows 95 появилась функция CreateDIBSection, обеспечивающая поддержку создания контекстов устройств на основе DIB, также и видеодрайверы в конечном счёте, улучшились.

РеализацияПравить

WinG представила новый тип контекстов устройств, называемый WinGDC,[4] который позволял программистам как читать, так и записывать в него напрямую, используя аппаратно-независимые растровые изображения (DIB) с драйвером wingdib.drv. По сути, это дало программистам возможность делать в Windows то, что они делали годами, без ограничений доступа к оборудованию, в DOS. Программисты могли записывать DIB в WinGDC, но, при этом, иметь доступ к отдельным частям изображения. Это означало, что можно было написать быстрые графические алгоритмы, обеспечивающие быструю прокрутку, перерисовку, анимацию частичным обновлением, двойную буферизацию и другие методы анимации. WinG также обеспечивает гораздо большую производительность при переносе графических данных в физическую память графического устройства. Поскольку WinG использовала формат DIB, можно было смешивать исходные вызовы GDI API и вызовы WinG.[4]

WinG выполяет тест графического оборудования/драйвера при первом запуске программы, чтобы определить лучший способ рисования DIB. Этот тест показывал окно, полное красных изогнутых линий, участки которых двигались при тестировании производительности. Как только WinG определяла самые быстрые вызовы, не вызывающие искажения графики, она сохраняла полученные данные, чтобы тест не нужно было выполнять снова.

ПоддержкаПравить

Поддержка WinG из коробки (т.е. как отдельный API для Win32) была исключена во втором выпуске Windows 98 (с интегрированным DirectX 6), поскольку она ничего не делала, кроме простой проброски данных в API-интерфейсы Win32, которые она обертывала (включая CreateDIBSection). Библиотеки WinG иногда распространялись вместе с приложениями, достаточно было просто скопировать файлы wing.dll, wing32.dll, wingde.dll, wingdib.drv и wingpal.wnd в каталог system32 (для 32-разрядной версии Windows) или каталог SysWOW64 (для 64-разрядной версии Windows).

Список игр и приложений, использующих WinG APIПравить

См. такжеПравить

ПримечанияПравить

  1. Hecker, Chris A Whirlwind Tour of WinG  (неопр.). Gamasutra (1 июня 1997). Дата обращения: 19 января 2009.
  2. 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: 26–31.
  3. Eisler, Craig DirectX Then and Now (Part 1)  (неопр.). Craig's Musings (20 февраля 2006). Дата обращения: 19 января 2008.
  4. 1 2 HOWTO: How to Mix GDI and WinG (MSKB125928)  (неопр.). Knowledge Base. Microsoft. Дата обращения: 19 января 2009.
  5. Microsoft Return of Arcade 1996 review: RGB Classic Games

СсылкиПравить