Каталог
Улучшенное качество графикиЧетко определенные спецификации DX11 не дают производителям особой свободы. Без поддержки со стороны Microsoft практически невозможно встроить какую-то новую функцию по своему усмотрению. И даже если это удается, есть риск создания модуля, который разработчики никогда не будут использовать, как произошло с тесселятором в AMD Radeon 2000-4000. Поэтому инновации приходят не со стороны расширения и без того достойных возможностей API, а со стремления улучшить качество графики различными техниками, которые минимизируют врожденные недостатки "плоской" 3D-графики. Мы не просто так упомянули DX11. Дело в том, что хотя требования Microsoft однозначны касаемо предоставляемого набора возможностей, компания не пытается навязать свое мнение в технической реализации. Так, конвейеры GF100 и RV870 принципиально разнятся "в железе", но полностью совместимы программно. Еще один схожий пример: jittered sampling. Данная техника применяется, например, при расчете теней и в разных пост-процессинговых фильтрах. Обычно JS используют для создания мягких теней из карты теней — случайным образом выбирается семпл ближних текселей, и на этой базе вычисляется сглаженная граница тени. Самая большая проблема с таким методом — в скорости работы, так как требуются "тяжелые" вычисления. Поэтому jittered sampling не всегда может быть применен. В случае с DX10.1 и выше, JS можно использовать с помощью инструкции Gather4, которая, как это ясно из названия, собирает соседние тексели для jittered sampling. Microsoft не указала, как именно должна быть реализована данная функция, и NVIDIA решила реализовать ее в Fermi единой векторной инструкцией. Более чем хорошая альтернатива ручной раздельной выборке текселей, которая была бы необходима в случае реализации JS на DX10 или DX9. Собственные бенчмарки NVIDIA показали, что преимущество такого подхода над стандартной реализацией JS на том же самом GPU достигает двукратной величины. Для разработчиков, которые применяют jittered sampling (или любую другую технику с использованием команды Gather4), данный факт будет означать намного более экономное расходование ресурсов по сравнению с прошлым поколением карт NVIDIA. Для геймеров — потенциально более качественное изображение благодаря более частому использованию JS. Не может не радовать, что прибавку в производительности получили режимы и с использованием антиалиасинга. Как и AMD, при разработке нового GPU, NVIDIA усовершенствовала ROP для уменьшения падения производительности при 8x MSAA. С таким сглаживанием фреймрейт в большинстве требовательных игр был слишком низок. Компания заявляет о росте скорости работы ROP более чем в два раза относительно GTX 285 в частных случаях.
Безусловно, работа новинки при MSAA 8x требует более детального рассмотрения, но мы не слишком уверены, что падение производительности в этом режиме соответствует улучшению качества. Еще одним интересным решением для повышения качества изображения является улучшенный и переработанный Coverage Sample Anti-Aliasing. CSAA был впервые представлен в G80. Данный легковесный метод при количестве семплов в 8x не столь качественен, как, например, MSAA, но зато практически не требует ресурсов (либо же достигает лучшего качества при тех же затратах).
В связи со спецификой своей работы, на G80 и GT200 CSAA мог сглаживать только края полигонов. Алгоритм свою работу выполнял эффективно, однако был беспомощен перед артефактами других типов. Основные проблемы возникали с различного рода полупрозрачными поверхностями, такими как текстуры заборов, листьев, кустиков травы, которые являются некоторого рода компромиссом и упрощением, так как при тщательной проработке потребовали бы невероятного количества геометрических ресурсов, а результат качественно не соответствовал бы затратам. Так как такие текстуры обладают большой площадью и не содержат внутри никакой геометрии, прошлая реализация CSAA пасовала перед сглаживанием содержимого. Справедливости ради стоит отметить, что данный недостаток не присущ лишь этой технологии. Ведь даже для MSAA полноценное решение вопроса пришло только в DX10 с представлением технологии alpha-to-coverage, благодаря которой GPU, по сути, создавал несколько уровней прозрачности вокруг "ненастоящей" геометрии текстуры так, что она лучше сливалась с окружением. Хотя это и очень мощная техника, ее реализация на G80 и GT200 оставляла желать лучшего. Производительности чипов попросту не хватало для создания нужного количества прозрачных слоев. В паре с затратным MSAA даже при 8xQ режиме GPU могли создавать только до 9 уровней, а этого было даже близко недостаточно для создания плавного градиента. В результате, хотя теоретически alpha-to-coverage полностью решала проблему сглаживания полупрозрачных поверхностей, ее реальное применение было под вопросом. Для сохранения нормального фреймрейта приходилось пользоваться пониженными уровнями качества данного типа AA, которые отрабатывали не слишком хорошо. Единственным вариантом полноценного избавления от неприятного эффекта алиасинга на таких поверхностях было включение Transparency Super-Sample Anti-Aliasing, однако с ним скорость работы в большинстве игр проседала до неудобоваримых величин, особенно с учетом того, что, когда используются текстуры такого рода, они занимают большую часть экрана. Для GF100 NVIDIA произвела два усовершенствования CSAA, направленных на устранение описанной выше проблемы. Во-первых, максимальное количество обрабатываемых по данному алгоритму семплов было увеличено с 16 до 24. Во-вторых, CSAA теперь обучен работе с полупрозрачными поверхностями. С такими возможностями при одновременной работе с MSAA, в общем антиалиасинг может производиться с учетом до 32 семплов на один пиксель. Иными словами, можно достичь до 33 уровней прозрачности, что пускай не идеально, но намного детальнее и качественнее, чем прошлые варианты градиентов. Пример работы технологии можно увидеть на официальном скриншоте NVIDIA из DX10 игры Age of Conan. На первой картинке представлен результат работы карты на базе GT200 с комбинированным режимом 16xQ, состоящим из 8 семплов MSAA и 8 CSAA. Так как графическая архитектура NV прошлого поколения не способна проводить alpha-to-coverage с помощью CSAA, на стебли травы нанесено лишь 9 уровней прозрачности от 8 семплов MSAA. Хорошо видно, что результат далек от совершенства.
А вот на втором скриншоте представлен уже GF100, обрабатывающий изображение в новом 32x режиме, который составлен из 8 MSAA и 24 CSAA семплов. Как мы упоминали ранее, в первом представителе поколения Fermi alpha-to-coverage для CSAA не является проблемой, поэтому на основе общих 32 семплов могут быть посчитаны уже 33 уровня прозрачности. В результате, пусть в некоторых местах трава все же выглядит несколько искореженной, в целом качество сглаживания находится на совершенно ином уровне. Не забываете при этом, что 8x MSAA на GF100 работает быстрее, чем на GT200, а CSAA мало влияет на производительность (NVIDIA утверждает, что режим 32x по скорости отличается от 8xQ лишь на 7%). Так что, в теории при сильно улучшившейся обработке графики платы на GF100, как минимум, не должно получиться падение скорости.
Между тем возникает резонный вопрос: теперь мы можем использовать CSAA для сглаживания полупрозрачных поверхностей, но не для этого же самого был разработан TAA? Ответ здесь одновременно и да, и нет. Впервые Transparency Anti-Aliasing был представлен на G70 (GeForce 7800GTX), и был нужен именно для того же самого, что сегодня NVIDIA предлагает делать парой MSAA+CSAA — сглаживания полупрозрачных текстур. Однако между этими технологиями есть значительная разница — в DX10 реализован метод alpha-to-coverage, тогда как в DX9 (а именно для этого API создавался G70) нет. Сегодняшний вариант Transparency Multi-Sample Anti-Aliasing (TMAA) является шейдерной реализацией, как бы дополнением к недостающим возможностям DX9. С ним к играм, которые были написаны для DX9, может применяться a-t-c сглаживание, хотя сам API таких возможностей и не дает. В DX10 же TMAA просто не имеет смысла, так как существуют более современные техники сглаживания, использующие внутренние возможности API. Тем не менее, так как DX9 игры все еще популярны, производители не забывают о TMAA и дают возможность использовать сглаживание полупрозрачных поверхностей в игровых приложениях прошлого поколения. Причем, так как функционально TMAA как бы эмулирует alpha-to-coverage в DX9 играх, на аппаратном уровне оно выполняется теми же функциональными блоками, что и CSAA. Поэтому все описанные преимущества CSAA автоматически переносятся и на TMAA. Так что, с приходом GF100 любители прошлых хитов смогут наслаждаться максимально качественной графикой в DX9 без активации неэффективного и прожорливого (пусть и очень качественного) TSAA. Кстати, как следствие изменения алгоритма TMAA, отныне ушли и присущие прошлым реализациям данного типа сглаживания недостатки, такие как не всегда верное определение "визуальной" геометрии полупрозрачных текстур. На нижеследующих скриншотах показана работа нового TMAA на GF100 и менее продвинутой реализации в GT200.
Радует то, что NVIDIA произвела некоторые усовершенствования чипа с расчетом на практически мгновенную смену контекста. Ранее переключение между расчетами, например, графических и физических задач требовало большего времени. С учетом проведенных оптимизаций и поистине огромной вычислительной мощности GPU, в одном кадре теперь с легкостью может сочетаться графика, рассчитанная на GPU, физика PhysX и эффекты DirectCompute.
Технические демонстрации данных возможностей станут доступны вместе с релизом карт на базе GF100. Интересно и то, что на своих презентациях NVIDIA показывала возможности GF100 по построению изображений в реальном времени методом трассировки лучей (ray tracing). Этим компания дает понять, что современные GPU способны конкурировать на одном поле с CPU (скажем, Intel долгие годы хвасталась производительностью RT при расчете силами CPU). Конечно, еще G80 обладал такими возможностями, но производительности 128 потоковых процессоров первого поколения было все же недостаточно. Fermi же здесь раскрывается во всей красе, даже несмотря на то, что у NVIDIA, по сути, не так много опыта в проектировании чипов с поддержкой технологии трассировки лучей, не нуждающейся в принципах классической трехмерной графики. При прорисовке модели машины в таком качестве Fermi втрое опережает GT200. Конечно, 0.63 FPS является не слишком впечатляющим показателем, но это все же построение изображения именно в реальном времени. К тому же скоростные характеристики постоянно улучшаются, да и в реальных игровых движках будущего, использующих данную технологию, качество может быть до некоторой степени принесено в жертву быстродействию. [N5-3D Vision Surround: Eyefinity от NVIDIA] Помимо всего прочего, на CES впервые демонстрировалась и многообещающая технология 3D Vision Surround. Данная технология не является исключительной особенностью GF100, однако на рынке она появится именно с релизом первых плат поколения Fermi, поэтому имеет смысл остановиться и на ней. Если вы знакомы с Matrox TripleHead2Go или AMD Eyefinity, тогда вы уже знаете, что такое 3D Vision Surround. Эта технология является реализацией поддержки многомониторных конфигураций от NVIDIA. Геймеры получат возможность более глубокого погружения в игровую вселенную; кому-то подключение более чем двух мониторов облегчит рабочий процесс. По словам NVIDIA, компания завершила разработку данной технологии некоторое время назад, однако маркетологи не видели реального спроса на нее и потому не спешили выводить на рынок. Однако с выходом TripleHead2Go и Eyefinity стало понятно, что ждать более нет смысла. Мы не знаем, насколько правдивы данные слова, но пока реальных карт на руках у нас все равно нет, и большого значения вопрос появления Surround не имеет. Технология подключения трех дисплеев будет иметь два независимых имени. В случае, когда происходит простое объединение обычных дисплеев, NV называет такое трио NVIDIA Surround. Когда же используются специальные мониторы с высокой частотой вертикальной развертки и поддержкой 3D, Surround превращается в 3D Vision Surround. Естественно, в интересах NVIDIA развить поддержку наиболее продвинутого варианта своей технологии. Тем не менее, обязательным 3D не является. Пожалуй, поддержка трехмерного изображения является ключевым отличием 3D VS от Eyefinity. По крайней мере, до того момента, пока AMD не покажет ответную технологию. Независимо от того, считать ли Surround внезапным ответом NVIDIA на Eyefinity, или же запланированной особенностью своих новых видеокарт, ясно, что в процесс разработки 3D VS попала поздно. В отличие от AMD, которая заранее заложила возможности Eyefinity во все чипы семейства Evergreen, NVIDIA не предусмотрела для GF100 подключение более двух мониторов. Карты, которые попадут в розницу, будут иметь на борту пару стандартных DVI. Это значит, что для желающих почувствовать прелести игр на нескольких мониторах, придется потратиться на 2 платы GF100 для организации SLI. Так что никоим образом построить такую систему дешево не получится.
С другой стороны, есть и хорошие новости. Как мы уже отмечали ранее, технология не является исключительной особенностью GF100. Так как ее реализация полностью программная, нет никаких препятствий для работы Surround на платах на базе GT200 (серия GTX 200). Соответствующее программное обеспечение для прошлого поколения будет выпущено вместе с GF100, и позволит подключать к SLI из более старых карт 3+ монитора так же, как и к Fermi. На CES такая система с двумя GTX 285 даже демонстрировалась вживую. Большой вопрос, конечно, состоит в том, хватит ли производительности GF100 и GT200 в современных играх для организации вывода изображения на несколько экранов. Естественно, отдельно необходимо будет рассмотреть и совместимость с играми. Но все это станет возможным лишь с началом продаж GF100. [N6-Финальные слова и выводы] Завершая данный материал, хотелось бы продемонстрировать визуализацию того, о чем было сказано много теоретических слов. По доброй традиции, выпуская новое поколение видеокарт, NVIDIA представляет технологические демонстрации, использующие все возможные нововведения. Так и в этот раз команда разработчиков представила сцену, в которую постарались упаковать все возможные современные технологии, начиная от тесселяции и DirectCompute до PhysX. Причем на CES это демо было доступно в трехмерном исполнении с 3D Vision Surround. Надо отдать должное разработчикам, бенчмарк смотрится потрясающее. NVIDIA предоставила небольшую (7 Мб) запись технической демонстрации. Конечно, она не может заменить увиденное вживую на трех мониторах, но общее представление составить помогает. Итак, все, что мы можем сказать, проанализировав имеющую информацию об архитектуре чипа, но не имея на руках самих карт, — NVIDIA удалось создать монструозный чип с поистине широчайшими вычислительными возможностями в лице GF100. И, похоже, что с не меньшим остервенением этот монстр будет расправляться и с любой сложнейшей игровой графикой. Пока остается непонятным, какая цена будет установлена на различные вариации GF100. Но совершенно очевидно, что ждать низкой стоимости от состоящего из 3 миллиардов транзисторов Fermi не придется. К тому же карта имеет все шансы стать наиболее горячим из всех одночиповых решений. Так что остается лишь ждать и делать ставки, насколько карты получатся быстрыми и дорогими. С GF100 NVIDIA пришлось пойти на серьезный риск. Во-первых, с GPGPU возможностями, во-вторых — с переработкой конвейера рендеринга и усилением геометрической производительности, и, наконец, со временем. Задержка на 6 месяцев однозначно негативно сказалась на релизе GeForce GTX 400, да и на покупателях (AMD нет смысла снижать цены на свои решения ввиду отсутствия конкуренции). Похожая ситуация создалась, когда ATI запаздывала с выходом R600. И все мы знаем, что из этого получилось. Надеемся, новый флагман NVIDIA не повторит печальную судьбу Radeon HD 2900XT. |
Источник: www.anandtech.com/