|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||
GF2 GTS vs. Voodoo:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Андрей Никулин Удивительную вещь я наблюдаю всякий раз, когда меняю свою видеокарту на новую, более продвинутую: разницы почти не чувствуешь. Так было, когда я перешел с Voodoo Graphics на Voodoo2 - в первую очередь я почувствовал разочарование оттого, что напрасно потратил сто долларов на апгрейд. Картинка осталась почти такой же, скорость тоже не сказать чтоб очень выросла. Единственный заметный плюс - если раньше я играл в любимую на тот момент Need For Speed: High Stakes в разрешении 512 х 384, то Voodoo2 позволил сделать играбельным разрешение 800 х 600. Когда я, поддавшись уговорам знакомого продавца, обменял без доплаты Diamond Monster Voodoo2 8 Мб на Creative RivaTNT 16 Мб, то снова почувствовал себя обманутым, поскольку скорость в Quake 2, на первый взгляд, только упала, а восхитительное размазывание текстур (тогда мне казалось, что единственное предназначение видеоакселератора - как можно сильнее размазать текстуры, чтобы от ненавистных пикселей не осталось и следа) уступило место неприятной зернистости и четкости. Примерно такое же чувство разочарования я испытал, поменяв TNT на TNT2 Ultra. Разница, конечно, была, но казалась какой-то неубедительной, прорыва в новое игровое измерение, прямо скажем, не произошло... И все же настоящий шок я испытал, когда в начале 1999 года мне довелось пересесть со своей боевой машины (440BX, Celeron 450, TNT2 Ultra) на точную копию той, что была у меня годом раньше (430TX, Pentium 200 MMX, Voodoo Graphics). Разница буквально ударила меня по глазам - низким "рефрешем" в 3D (не угодно ли 60-75 Гц?), маленьким разрешением (512 х 384 - более или менее играбельно) и неприемлемым количеством fps. С тех пор я знаю главный закон апгрейда: переход с худшего на лучшее почти всегда незаметен, обратный же переход чувствуешь очень остро. И вот теперь в моем AGP-слоте стоит очередное чудо техники стоимостью в четверть килобакса. Имя ему - Creative GeForce2 GTS. В заявленных характеристиках новейшего видеочипа есть масса новых возможностей, которых не было в продуктах предыдущих поколений. К слову сказать, большинство пользователей при выборе новой видеокарты не обращает на них внимания, оценивая крутость железки с помощью народной забавы под названием "сколько фепеэс выдаст та и или иная карта в третьей Кваке в режиме High Quality". Вдоволь наигравшись с новой игрушкой, я надергал изрядное количество интересных скриншотов. Пользуясь ими как иллюстрациями, я попробую рассказать о некоторых "фичах" современных видеоакселераторов. Отмечу, что это не полный глоссарий терминов 3D-графики, а всего лишь описание некоторых интересных возможностей видеокарт последнего поколения (к числу которых относится и GF2 GTS). Итак, посмотрим, что, кроме скорости и поддержки сверхвысоких разрешений, может нам предложить GF2 GTS по сравнению с Voodoo. Трилинейная и анизотропная
фильтрация Для начала перенесемся в виртуальный мир. Представьте себе, что вы стоите в одном из залов Quake 3 Arena. Узкий коридор уходит вдаль, сужаясь вдали в силу законов перспективы. Если "застилать" пол текстурами фиксированного размера, это будет смотреться красиво лишь до определенного момента - до тех пор, пока количество текселей (пикселей, составляющих текстуру) будет сопоставимо с количеством реальных пикселей на экране, которые отображают этот участок текстуры. Если мы будем тупо сопоставлять каждому пикселю на экране соответствующий тексель текстуры, то вдали может произойти полное безобразие (рис. 1) - мы увидим вдали отвратительную мешанину пикселей. Это происходит потому, что движок игры будет пытаться на крохотном участке экрана шириной в 20 пикселей (на рисунке эта область обведена красным прямоугольником) отобразить текстуру, размер которой на порядок больше. Такой метод наложения текстур называется поточечная выборка (single-point sampling, или просто point sampling). Метод mip-mapping используется для устранения дефектов изображения именно такого типа (когда несколько текселей накладываются на один пиксель). Проблема состоит в том, что, если требуется правильным образом определить цвет пикселя, необходимо учесть значения всех текселей, которые накладываются на пиксель. Понятно, этого не происходит, если выбирается лишь один тексель. При этом делать выборку по всем текселям невозможно, потому что это слишком большой объем работы для правильного вывода на экран всего одного пикселя. Mip-mapping снижает объем вычислений за счет генерирования множества версий исходного текстурного изображения, каждая из которых имеет все меньшее и меньшее разрешение. Мип-текстура (mip-map) состоит из набора заранее отфильтрованных и масштабированных изображений. В каждом следующем уровне mip-map пиксель представляется в виде среднего четырех пикселей из предыдущего уровня с более высоким разрешением. Следовательно, каждый уровень такой текстуры в четыре раза меньше по размеру предыдущего мип-уровня. В зависимости от расстояния до точки наблюдения выбирается текстура с необходимой детализацией. Итак, если воспользоваться технологией мипмэппинга (когда для на разном расстоянии от точки наблюдения мы используем текстуры разного разрешения) в сочетании с грамотной фильтрацией, мы увидим картинку получше (рис. 2). При использовании мипмэппинга мы неизбежно столкнемся с неприятным явлением, которое называется мип-бандингом. Это специфические дефекты изображения, вызванные резким переходом от одного мип-уровня к другому, или, проще говоря, полосатость и размытость изображения в том месте, где один мип-уровень переходит в другой. Такие артефакты остаются при применении простейшего метода фильтрации -билинейного, поскольку цвет пикселя определяется путем усреднения цвета 4 текселей из одного мип-уровня. С этим пытаются бороться с
помощью фильтрации более продвинутых
типов - трилинейной и анизотропной. Анизотропная фильтрация обеспечивает лучшее качество отображения текстур, поскольку помимо того, что учитывается большее количество текселей для определения цвета каждого конкретного пикселя (от 16 до 32), еще принимается во внимание и положение плоскости (на которую накладывается текстура) в пространстве. Можно долго и нудно расписывать
суть каждого метода, но лучше я покажу
разницу "на пальцах". Посмотрите на
иллюстрации (рис. 3) - на них прекрасно
видна разница в качестве отображения
текстур при использовании различных
типов фильтрации. Скриншоты были сняты
на уровне Q3DM0 игры Quake 3 Arena. При этом была
использована замечательная возможность
движка Q3A подсвечивать различные мип-уровни
разным цветом (консольная команда /r_colorMipLevels
1). В первом случае мы явственно видим при движении неприятные полосы, возникающие в местах мип-переходов. Включение трилинейной фильтрации в корне меняет дело - при передвижении игроку ничто не мозолит глаза, при этом еще и увеличивается качество отображения текстур. Включение анизотропной фильтрации становится заметно главным образом по падению скорости, хотя, конечно же, заметно повышается четкость картинки - текстуры отображаются максимально корректным образом. Механизм анизотропной фильтрации, применяемой в GF2 GTS, несколько лучше того, который использовался в GeForce256, поскольку используются 16 текстурных сэмплов вместо 8. Существуют и более совершенные алгоритмы анизотропной фильтрации, в которых для определения цвета пикселя используются 32 текселя из текстуры. Поскольку за все приходится платить, включение продвинутых методов фильтрации (трилинейной и анизотропной) обходится игроку снижением количества fps в игре. Таблица 1 дает представление о потере скорости при использовании различных типов фильтрации. (Эти и все последующие измерения проводились в режиме 1024 х 768 @ 32 бит с максимальной детализацией и отключенной компрессией текстур на системе, конфигурация которой указана в таблице 2 в конце статьи). Итак, можно подвести итог: современные видеокарты (класса GF2 GTS и лучше) позволяют свободно использовать в играх трилинейную фильтрацию, поскольку падение скорости на 10-15% с лихвой компенсируется заметно возросшим качеством изображения.
Применение же анизотропной фильтрации не всегда оправдано - падение скорости на 20-30% (относительно билинейной) уже достаточно ощутимо и вызывает явный дискомфорт у требовательного игрока. Похоже, что широкое распространение анизотропная фильтрация получит в графических чипсетах следующего поколения, которые будут поддерживать ее без заметного снижения скорости. Наложение кубических карт среды (Cube Environment Mapping) Использование этой функции позволяет воплощать реалистичное отражение окружающих наблюдателя объектов. Одной из первых игр, использующих Cube Environment Mapping, стала Colin McRae Rally 2. На приведенных скриншотах (рис. 4) вы можете оценить, что дает включение этой опции: в стеклах и полированных боках автомобиля самым натуральным образом отражаются окружающие объекты: деревья, склоны холмов, другие автомобили и проч., при этом стекла имеют определенную прозрачность, а не просто зеркальны. Это значительный шаг вперед в направлении создания фотореалистичной игровой графики. По сравнению с автомобилями из Colin McRae Rally 2 машинки из Need For Speed: Porsche Unleashed (один из самых качественных и красивых автосимуляторов за всю историю компьютерных игр) выглядят игрушечными. К сожалению, падение скорости при использовании этой функции просто катастрофическое - примерно в два раза. Остается надеяться, что в чипах следующего поколения Cube Environment Mapping можно будет использовать не в ущерб скоростным показателям видеокарт. Полноэкранное
сглаживание В последних драйверах NVIDIA ввела для своих карт на чипах GeForce256 и GeForce2 поддержку полноэкранного сглаживания. При чем существует возможность принудительно включать эту опцию в любых играх. Вот как выглядит сглаживание в Quake 3 Arena (рис 5). Метод антиалиасинга, применяемый в GF256 и GF2, называется Ordered Grid Supersampling. Суть его в том, что каждый кадр изображения рендерится в разрешении, в несколько раз превышающем рабочее разрешение экрана, а перед выводом сжимается до нужных размеров. Субпиксельная маска определяет, во сколько раз виртуальное разрешение превышает номинальное.
Например, при разрешении 1024 x 768 и субпиксельной маске 2x2 сцена рендерится в разрешении 2048 x 1536 субпикселей. При этом пользователь видит на экране разрешение 1024 x 768 пикселей (примеры различных субпиксельных масок приведены на рис. 6).
Если в качестве "элементарного пикселя" будет рассматриваться субпиксель, мы получим наиболее четкое и качественное отображение текстур. Такой метод является наиболее правильным и соответствует "чистым" режимам антиалиасинга - 2х2, 3х3 и 4х4. Хочу обратить ваше внимание, что при использовании таких режимов мы получаем не только сглаживание наклонных линий (главная задача антиалиасинга), но и повышение качества отображения накладываемых текстур. Если же привязка уровней мипмэппинга будет осуществляться к пикселям (каждый из которых, как мы помним, состоит из нескольких субпикселей), то будет использоваться более низкий уровень детализации. В этом случае площадь текселя будет намного превышать площадь субпикселя, поэтому картинка получится более размытой (этот эффект называется overfiltering). Качество текстур будет в точности таким, как без антиалиасинга. Вот такой метод и носит название low detail. Изображение получается не таким качественным (текстуры несколько размыты), чем в случае "чистых" режимов, но зато несколько увеличивается скорость. Special - это одна из разновидностей антиалиасинга 2х2, которая еще называется 2х2 blurred. Субпиксельная маска в этом случае имеет вид, показанный на рис. 8: для вычисления цвета пиксела используются не только субпиксели, принадлежащие данному пикселю, но и несколько соседних. Такой режим обеспечивает чуть лучшее качество, чем "чистый" 2х2, но и скорость, к сожалению, падает. В OpenGL существующие драйвера NVIDIA позволяют использовать всего три режима антиалиасинга: 1,5х1,5, 2х2 (LOD bias) и 2х2. В данном случае 2х2 (LOD bias) означает то же самое, что и 2x2 (low detail) в Direct3D. Странный режим 1,5х1,5 означает то, что виртуальное разрешение в 1,5 раза превосходит рабочее разрешение экрана.
А теперь главный вопрос: нужен
ли антиалиасинг? Проведенные тесты
показывают, что в современных играх
включение этой функции резко снижает
производительность (таблица 3). Однако существуют игры, в которых использование полноэкранного сглаживания вполне оправдано. Например, Motorhead - хит 1998 года. Эта игра имеет весьма неплохую графику даже на фоне современных автомобильных симуляторов. Движок Motorhead при всей своей красоте очень "легкий", что позволяет ему со свистом крутиться даже на относительно слабых конфигурациях. На мощном компьютере (P III 866 + GF2 GTS) возможна комфортная игра даже в сверхвысоких разрешениях типа 1600 х 1200 @ 32 бит. В результате очень даже играбельным, без намека на торможение, является режим 1024 х 768 @ 32 бит с включенным антиалиасингом, причем тип используемой субпиксельной маски (от 2х2 до 4х4) не играет особой роли в плане скорости. Хотелось бы добавить, что это не играет особой роли и в плане качества: разницу между 2х2 и 4х4 можно заметить с трудом.
Вот как выглядят снимки из Motorhead
(рис. 10) со включенным сглаживанием (слева)
и без оного (справа). В заключение хочется добавить, что возможности графических акселераторов в момент их выхода в свет полностью не используются ни в одной игре. Даже если какая-нибудь компания заявляет, что ее игра, построенная на модифицированном движке, например, Quake II, использует функции чипа GeForce2, то обычно это означает, что если вы приглядитесь на камешек на таком-то уровне, то заметите какие-то модные отражения и тени. Кроме того, среди чипсетов видеокарт действует то же правило, что и у процессоров - не факт, что софт, "заточенный" под старый камень, будет работать быстрее на новом. За примерами далеко ходить не надо - вспомните «ринг» между P4 и PIII, который мы проводили недавно. В играх то же самое, но об этом уже в другой статье, в которой мы рассмотрим оптимальные настройки в драйверах под каждую видеокарту, а также посмотрим, какие игры на каких картах лучше и "мягче" работают.
Источник: http://www.computery.ru/upgrade/
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Copyright © "Internet Zone", info@izcity.com | |||||||||||||||||||||||||||||||||||||||||||||||||
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. |