Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Фон [ править ]

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

Алекс Сент-Джон , один из создателей DirectX , сказал в интервью 2000 года, что:

WinG - это технология, разрабатываемая Крисом Хекером в исследовательской группе, и в то время это был один из небольших проектов Microsoft Skunkworks , очень скромный и нестандартный . В основном это исправление неисправных драйверов Windows, чтобы они работали быстрее и более приемлемо. Используя его, мы действительно смогли создать видео API, который мог запускать DOOM почти так же быстро под Windows, как и в DOS. [2]

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

Реализация [ править ]

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

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

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

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

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

  • Adobe Photoshop 3.0 (1994)
  • Adobe Photoshop 4.0 (1997)
  • Один в темноте: Призраки в городе (1996)
  • Зона комиксов (1995)
  • Темное семя II (1995)
  • Анимационный сборник рассказов Диснея: Король Лев (1994)
  • Гибель (1995)
  • Пыль: Повесть о проводном Западе (1995)
  • Ярость3 (1995)
  • Грант - Ли - Шерман: Гражданская война 2: Генералы (1997)
  • Герои меча и магии II (1996)
  • Промышленный гигант (1997)
  • Майкрософт Боб (1995)
  • Microsoft Oceans (1995)
  • Microsoft Return of Arcade (1996) [6]
  • Монополия (Westwood Studios) (1995)
  • Nitemare 3D (1994)
  • Нуар: Призрачный триллер (1996)
  • ВОМ II (1995)
  • Расцвет и правление древних империй (1996)
  • Это означает войну! (1995)
  • Колонизация Сида Мейера (1995)
  • Цивилизация Сида Мейера II (1996)
  • SimCity 2000 (Windows 16-бит) (1995)
  • SimTower (1994)
  • Звёздные войны: развлечения на экране (1994)
  • Школа Соника (1996)
  • Врата времени: Погоня за рыцарем (1996)
  • Титаник: Приключение вне времени (1996)
  • Редактор карт Warcraft II: Tides of Darkness
  • Вудрафф и Шнибл Азимута (1995)

См. Также [ править ]

  • Windows API
  • DOSBox , позволяет эмулировать программы DOS

Ссылки [ править ]

  1. Хеккер, Крис (1 июня 1997 г.). "Вихревой тур по WinG" . Гамасутра . Проверено 19 января 2009 .
  2. ^ Colayco, Боб (7 марта 2000). "Интервью Алекса Сент-Джона" . firingsquad.com . Проверено 19 января 2009 .
  3. ^ Уилсон, Джонни Л .; Браун, Кен; Ломбарди, Крис; Векслер, Майк; Коулман, Терри (июль 1994). «Дилемма дизайнера: восьмая конференция разработчиков компьютерных игр» . Компьютерный игровой мир . С. 26–31.
  4. Перейти ↑ Eisler, Craig (20 февраля 2006 г.). «DirectX тогда и сейчас (часть 1)» . Размышления Крейга . Проверено 19 января 2008 .
  5. ^ a b «HOWTO: Как смешивать GDI и WinG (MSKB125928)» . База знаний . Microsoft . Проверено 19 января 2009 .
  6. ^ Обзор Microsoft Return of Arcade 1996: Классические игры RGB