Windows Vista и видеокарты: тестыИсточник: THG
Windows Vista и видеокарты / Введение30 января мир пополнился новой операционной системой Windows Vista. Немногим раньше для разработчиков программного и аппаратного обеспечения была выпущена RTM-версия новой ОС. Windows Vista и видеокарты / Нужна ли она?Когда на рынок выходит новый продукт, призванный заменить предыдущее поколение, то в интересах компании улучшить его новыми функциями и добавками. Напротив, в некоторых случаях хорошо сократить изменения до минимума, чтобы он напоминал оригинал. В качестве примеров можно привести Coca-Cola или Ford Mustang. На технологической сцене потребители требуют улучшений с сохранением ощущения знакомого продукта. Поэтому Vista во многих отношениях - это XP после пластической хирургии с новыми утилитами. В боковую панель можно добавить последние новости и другие приятные утилиты. Если вы хотите улучшить свою производительность или получить доступ к полезным утилитам, то боковая панель - прекрасное место для размещения заметок, адресной книги, калькулятора и даже игр. Если отойти от рабочего стола, то окна теперь могут быть прозрачными, полупрозрачными или любыми другими по вашему желанию. Переход в 3D-пространство позволяет пользователю внести новые изменения во внешний вид ОС. Нам понравилась опция предварительного просмотра содержимого окна без перехода к нему. Оно будет выводиться, если перемещать курсор мыши по заголовкам приложений в панели задач. Ещё одной любопытной возможностью можно назвать слой окон в трёхмерном пространстве. Windows Vista и видеокарты / Обзор графического интерфейсаКак вы уже, наверняка, знаете, Windows Vista смотрится по-новому, да и работа с этой ОС вызывает другие ощущения. Но изменения не только поверхностные. На самом деле они вплетены в ядро. Предыдущие версии Windows использовали API (интерфейс прикладного программирования) под названием "graphical device interface/GDI)", которое отвечало за вывод изображений в 2D-режиме. Если GDI занималось 2D-графикой и пользовательским интерфейсом, то для 3D-игр и приложений были разработаны интерфейсы DirectDraw и Direct3D. Начиная с Windows 2000, драйверы устройств должны были соответствовать новой модели Windows Driver Models/WDM. То есть все драйверы режима ядра должны были соблюдать стандарт. Каждая новая версия должна содержать предыдущие функции WDM, если только не требовалась существенная переработка драйвера. Ниже представлена модель драйверов Windows XP (XPDM), включая взаимодействие с другими API и библиотеками Собственность Microsoft Corp. Все предыдущие версии Windows использовали 2D-интерфейс. Пользователи же Vista получили в своё распоряжение трёхмерный рабочий стол. Благодаря росту вычислительной мощности современных видеокарт Microsoft взяла совершенно иной подход с моделью драйверов Windows Vista Display Driver Model (WDDM) Собственность Microsoft Corp. До последнего времени крах графической подсистемы приводил к краху всей ОС. Ситуация с Vista изменилась. От Windows NT до XP драйверы являлись частью ядра. Подобный шаг позволял улучшить графическую производительность, но за счёт стабильности, поскольку сбойный драйвер мог вывести систему из строя. Процессы, работающие в режиме ядра, могут перезаписывать память, принадлежащую другому процессу, да и вообще, творить что угодно. Ситуация с драйверами практически вышла из под контроля, поэтому Microsoft пришлось с этим что-то делать, тем более что современные графические процессоры ничуть не проще, чем центральные. Эта сложность требует повышенного внимания к надёжности драйверов. Перевод части драйверов из режима ядра в режим пользователя (WDDM User) позволяет снизить проблемы, связанные со сбойными драйверами. Драйвер в режиме ядра (KMD) работает там, где нужно, но основная часть драйвера находится вне пределов драгоценного ядра. Причём графика - не единственное место, где изменились драйверы. Подобные перемены произошли с драйверами USB, принтера, звука и других устройств. Кстати, перевод драйверов в пользовательское пространство привёл к ещё одному принципу, который получался не всегда: после установки драйвера перезагрузки не требуется. Windows Vista и видеокарты / Графическое API в VistaWindows Vista и видеокарты / OpenGLИзначально Microsoft планировала создать свою реализацию OpenGL. Но потом этот подход был признан тупиковым с точки зрения поддержки и интересов независимых разработчиков программ. Поэтому интерфейс был открыт аппаратным разработчикам, которые должны были создать собственную версию. Если в системе нет драйвера от аппаратного разработчика, Vista вернётся к драйверу по умолчанию. Если судить по статье разработчика Microsoft Чака Валбурна (Chuck Walbourn), опубликованной на Microsoft Developer Network, существуют три особенности Vista, касающиеся 3D-ускорения и OpenGL (перевод THG.ru). #1 Программный рендеринг MS OpenGL (поддерживается OpenGL 1.4). "Если драйвер ICD не установлен, то система, в большинстве случаев, откатится обратно до программной поддержки OpenGL v1.1". #2 Драйвер OpenGL от производителя. "Windows Vista обеспечивает ту же поддержку OpenGL, что и Windows XP. Это позволяет производителям видеокарт предлагать драйвер ICD (installable client driver) для OpenGL, который обеспечивает аппаратное ускорение. Обратите внимание, что для полной поддержки Windows Vista могут потребоваться обновлённые версии драйверов ICD". #3 Vista возьмёт старое API и встроит его в D3D. "Графическая подсистема Windows Vista была разработана с учётом широкой поддержки аппаратных ресурсов и пользовательских сценариев, чтобы не только обеспечить доступ к новым технологиям, но и продолжать работать на существующих системах. Текущие графические интерфейсы, такие как GDI, GDI+ и старые версии Direct3D, будут продолжать работать под Windows Vista, но внутри их, по возможности, привязки будут изменены. Это означает, что большинство существующих приложений Windows будет работать и под Vista. Новая ОС поддерживает те же самые интерфейсы Direct3D и DirectDraw, как и Windows XP, вплоть до версии DirectX 3 (за исключением режима Direct3D Retained Mode, который был удалён). Как и в случае Windows XP Professional x64 Edition, 64-битные приложения Windows Vista ограничены Direct3D9, DirectDraw7 или новыми интерфейсами. Высокопроизводительным приложениям, если они хотят получить максимум от аппаратных возможностей, следует придерживаться Direct3D 9 или более поздних API". Нам представилась возможность пообщаться со специалистом по архитектуре OpenGL Бартольдом Лихтенбелтом (Barthold Lichtenbelt). Он пояснил, что если ICD от производителя нет, то будет использоваться перевод на D3D. Таким образом, OpenGL 1.4 будет работать программно под D3D. Поэтому лучше всего устанавливать драйвер OpenGL от производителя видеокарты. Насчёт будущего OpenGL под Vista и других разработок Бартольд дал ясно понять: интерфейс OpenGL прочно "врос" в Vista. И, как предсказывает Бартольд, OpenGL даст более высокую производительность по сравнению с D3D после грядущих изменений в стандарте. Всё-таки OpenGL насчитывается 14 лет, а в этом году запланировано два выпуска новых спецификаций. "Мы вновь возвращаемся на OpenGL, - сказал Бартольд, - чтобы разработчики могли писать приложения быстрее и легче, чтобы они были более стабильны и содержали меньше ошибок, что отнюдь не плохо". "ARB будет очень агрессивно продвигать OpenGL в этом году", - считает Лихтенбелт. Первым выйдет Longs Peak. Эта спецификация будет предназначена для существующих графических процессоров. Следующая спецификация Mt. Evans (по названиям вершин в Колорадо) нацелена на графические процессоры нового поколения, которые поддерживают геометрические шейдеры и другие новшества, появившиеся в GPU класса D3D10. |