stringtranslate.com

Крыло

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

Фон

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

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

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

Microsoft анонсировала WinG на Game Developers Conference 1994 года , продемонстрировав его с портом Doom от id Software . [3] WinG был выпущен 21 сентября 1994 года. [4] WinG, хотя и был интересен, по сути все еще основывался на рисовании растровых изображений в памяти и выводе кадров после завершения рисования. В результате WinG был объявлен устаревшим, и был построен DirectX . Однако Windows NT 3.5 и Windows 95 представили CreateDIBSection для поддержки создания DC на основе 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 Second Edition (включавшей 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

Смотрите также

Ссылки

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

Внешние ссылки