TG Daily: Какие преимущества может дать работа без какого-либо API? Большинство разработчиков использует DirectX или OpenGL. Чем отличается Unreal Engine от общепринятого подхода?
Sweeney: В уклонении от использования какого-либо графического API, от запросов к нему и его ограничений есть огромные преимущества. С прямым доступом к оборудованию мы можем использовать техники, например, требующие более широкого кадрового буфера, чем поддерживаемый в DirectX. В Epic мы используем шейдерные блоки в графическом процессоре для расчетов общего назначения. Очень многое можно реализовать просто полностью обойдя весь графический конвейер видеокарты.
TG Daily: Какая роль DirectX сейчас? Модель DirectX 10 и Windows Vista обещает такие вещи как новые эффекты и упрощенный доступ к оборудованию. DirectX 10 был на рынке некоторое время и сейчас уже вышла новая версия этого API — DirectX 10.1. Что пошло правильно, что нет?
Sweeney: Я не думаю, что произошло что-то необычное. DirectX 10 — это хороший API. Когда Windows Vista только вышла, приложения DirectX 10 обычно работали медленнее, чем DirectX 9, однако это было ожидаемо. Просто все дело в том, что ребята, производящие оборудование, в течение лет и сотен человеко-часов оптимизировали свои DirectX 9 драйверы. В случае с DirectX 10, им пришлось начинать все заново. В последние недели и месяцы мы наблюдаем тенденцию, кода DX10 драйверы достигли по производительности DX9 и начинают их обходить.
Я думаю, что DirectX 10 является лишь небольшим улучшением DX9. В свое время DirectX 9 предложил пиксельные и вершинные шейдеры. DirectX 10 лишь развил DX9, предложив геометрические шейдеры и множество функций и режимов. Он не изменил подход к графике, в отличие от DX9 в свое время, который был гигантским шагом вперед по сравнению с DirectX 7 и DirectX 8.