IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

 IZONE 


GeForce2 GTS:
советы по употреблению

Андрей Никулин
joint831@yahoo.com

Подобно тому, как отличник боевой и политической подготовки должен содержать свой автомат смазанным и вычищенным, так и всякий уважающий себя игрок обязан иметь абсолютно отлаженный и форсированный "по самое не хочу" компьютер.

Понятно, что главной частью любой приличной игровой станции является видеоподсистема. При прочих равных (процессор, ОЗУ, тип чипсета) системы с разными видеокартами обеспечат разное качество игры. 

Есть у медиков такое понятие, как "качество жизни". Означает оно общую оценку физического, психического и социального благополучия больного как им самим, так и врачами. К примеру, человек с больной головой, но ведущий здоровый образ жизни и принимающий необходимые таблетки, может иметь лучшее качество жизни, чем здоровяк-спортсмен, находящийся в состоянии перманентного похмелья.

Так вот, под качеством игры подразумевается совокупность всех характеристик, которые влияют на комфортность игры. Это количество fps (минимальное, среднее и максимальное), качество рендеринга трехмерных сцен (зависит от аппаратной реализации тех или иных эффектов, от драйверов, а также от настроек игры) и даже качество звука. Навороченность и модность какой-либо карты еще не означают, что качество игры на ней будет заведомо выше, чем на видеокарте предыдущего поколения с меньшим количеством функций.

Вот вам яркая иллюстрация вышесказанного: Need For Speed: Porsche Unleashed идет на GeForce2 GTS не лучше (рискну сказать, что даже немного хуже), чем на видеокарте позапрошлого поколения TNT2 Ultra. Хотя мощная GeForce2 GTS позволяет использовать 32-битный цвет в этой игре вплоть до разрешения 1280 х 1024 с максимальными настройками качества, даже в режиме 1024 x 768 @ 16 бит смена кадров происходит не плавно, а со слегка уловимыми подергиваниями. Это очень раздражает в процессе игры. 

Получается занятный парадокс: мощности карты с избытком хватает, чтобы просчитывать нужное количество кадров в секунду, однако "кривизна" движка игры или, по-другому говоря, его "незаточенность" под GeForce2 GTS сводит на нет усилия модной железки. По моим впечатлениям, играть в Need For Speed: Porsche Unleashed приятнее на машине с видеокартой TNT2 Ultra в режиме 960 х 720 @ 16 бит, чем на компьютере, в котором стоит GeForce2 GTS, - в режиме 1024 х 768 @ 32 бит.

В первом случае все крутится чрезвычайно гладко и ездить на Porsche 911 одно удовольствие, в другом - даже повышенное разрешение и 32-битный цвет не компенсируют недостатка fps - микроскопические рывки при смене кадров начинают быстро утомлять.

Заранее хочу остудить горячие головы тех, кто готов дать мне массу дельных советов касательно моих кривых рук и присутствия в драйверах опции "Disable Vsync". Для того чтобы добиться наилучшего качества игры NFS: PU на видеокарте Creative GeForce2 GTS, были перепробованы все мыслимые методы, включая использование разных версий драйверов и перебор всех доступных настроек. Однако ничего не помогло.


Приведенный пример с игрой NFS: PU - скорее не правило, а исключение, поскольку в большинстве случаев на видеокартах с чипами NVIDIA (особенно последними) можно добиться отличного качества любой игры. Главное - найти подходящую комбинацию настроек драйверов и настроек самой игры. При этом настоятельно рекомендуется использовать свежие патчи для игр и устанавливать оптимальные (не последние! последние и оптимальные - это не одно и то же) версии драйверов для вашей видеокарты.

И в интернете, и в печатных изданиях было много публикаций на тему оптимизации драйверов. Требовательных геймеров почти всегда агитируют жертвовать качеством изображения ради увеличения скорости. То есть если какая-то опция имеет в качестве возможных состояния Best Performance, Blend и Best Quality, то автор типичной статьи по оптимизации рекомендует вам использовать Best Performance - считается, что это даст заметный прирост fps. При этом реальных цифр, как правило, не приводят. То есть априори считается, что ухудшение качества должно дать адекватный перевес в сторону скорости.
Так ли это, мы сейчас проверим.


Direct 3D

Для измерения производительности под Direct 3D использовался тестовый пакет 3DMark 2000. Прогонялся только один тест - Helicopter, medium detail, как наиболее близкий по сложности трехмерной сцены к современным играм. Использовалась оптимизация под Hardware T&L. 

Таблица 1. ТЕСТОВАЯ КОНФИГУРАЦИЯ

Системная плата 

ASUS P3B-F (i440BX)

Процессор 

Intel Pentium III 866EB (FSB 133 МГц)

Оперативная память 

256 Мб PC133 M.tec (2-2-2-8-Fast)

Видеоадаптер 

Creative GeForce 2 GTS

Звуковая плата 

SBLive! Value (CT-4670)

CD-ROM 

Teac-540E

Жесткий диск 

Fujitsu MPD3130AT (13 Гб, 5400 об./мин.)

Операционная система 

Windows 98 4.10.1998 + DirectX 7.0a

Версия драйверов 

Reference 6.47

Частоты вертикальной развертки для разных разрешений 

640 х 480 @ 150 Гц 
800 х 600 @ 144 Гц 960 х 720 @ 120 Гц
1024 х 768 @ 100 Гц
1152 х 864 @ 100 Гц
1280 х 1024 @ 85 Гц

Сначала прогонялись тесты в 32-битных режимах. Удивительная вещь! Практически все доступные настройки в драйверах, вернее, те, с которыми пытаются играться пользователи, дают микроскопический прирост производительности. Счет в данном случае идет даже не на единицы, а на доли fps. При этом стоить отметить, что включение некоторых опций (например режима Mipmap: best performance) может привести к заметному на глаз ухудшению качества отображения текстур.

Не стоит, впрочем, думать, что качество падает сильно - пожалуй, только на тестовых скриншотах можно заметить разницу между режимами Mipmap: best performance и Mipmap: best image quality. Но зачем специально ухудшать качество рендеринга, пусть даже совсем ненамного, если мы знаем, что при этом ничего не выиграем в скорости? Результаты тестов, приведенные в таблице 2, отчетливо дают нам понять, что при активации таких сомнительных функций, как Mipmap: best performance и Alternate depth buffering technique, надеяться на сколько-нибудь ощутимый прирост производительности не стоит. 

Таблица 2. 3DMark 2000, Helicopter, medium detail

32-битный цвет, 
32-битные текстуры

640
 x 
480  

800
 x 
600

960
 x
 720

1024
 x 
758

1152
 x 
864

1280
 x 
1024

200/333
Mipmap: best image quality    

109,7

97,1

74,4

68,1

53,1

41,4

220/366
Mipmap: best image quality      

109,9

101,7

81,1

74,8

58,9

46,0

220/366
Mipmap: best performance     

109,9

102,4

81,3

75,2

58,9 

46,2

220/366
Mipmap: best image quality
Alternate depth buffering    

110,2

102,3 

 81,0

75,2

59,0

46,2

220/366
Mipmap: best performance
Alternate depth buffering      

110,4

101,5

81,0

75,2

59,0

46,2

Гораздо большую прибавку в скорости дает разгон ядра и памяти видеокарты. Рост здесь практически линейный - разгон с частот 200/333 до 220/366 (ровно на 10%) дает прирост скорости с 68 до 75 fps, то есть те же 10%. Хотелось бы добавить, что в реальных играх можно получить хороший прирост качества изображения и fps за счет выключения Vsync. В тесте 3DMark 2000 вертикальная синхронизация всегда принудительно отключается и поэтому мы не можем оценить разницу между включенным и выключенным Vsync. 

Помимо протестированных настроек, в закладке Direct3D референсных драйверов присутствует опция Adjust Z-buffer depth to rendering depth if unequal, которая в процессе тестирования всегда была включена. Мой совет - держите ее всегда включенной, поскольку дезактивация этой опции может привести к разнообразным глюкам (например, в игре Mercedes-Benz Truck Racing при ее отключении наблюдается выпадение текстур на объектах). Заметного прироста производительности в отключенном состоянии этот пункт настроек все равно не даст - об этом говорят данные моих личных наблюдений.

Опция в драйверах Enable Fog Table Emulation не оказывает никакого влияния на производительность (тесты проводились, но результаты не даны по причине их полной идентичности как при включении так и при выключении этой опции). Держите ее всегда включенной - иначе вы получите кучу проблем с играми серии Need For Speed (NFS III, IV, V).
Теперь перейдем к результатам тестов в 16-битном цвете (таблица 3) и увидим абсолютно ту же картину - как ни играйся с настройками драйверов, ничего путного из этого не выйдет.

Таблица 3. 3Dmark 2000, Helicopter, medium detail

16-битный цвет,
16-битные текстуры

640
  x 
480  

800
  x 
600

960
  x
  720

1024
  x 
758

1152
  x 
864

1280
  x 
1024

200/333
Mipmap: best image quality    

110,0     

109,4

105,0

100,5

89,0

73,6

220/366
Mipmap: best image quality      

109,6     

108,9

107,3

104,7

95,4

80,2

220/366
Mipmap: best performance     

110,2  

109,5

107,7

104,4

95,4

80,1

220/366
Mipmap: best image quality
Alternate depth buffering    

109,2 

109,5 

107,7 

104,8 

95,2 

80,1

220/366
Mipmap: best performance
Alternate depth buffering      

110,1   

109,7 

107,8 

104,8

95,6

80,3

Смело ставьте все настройки на максимальное качество изображения, а если хотите получить несколько лишних fps - разгоните на десяток мегагерц память видеокарты (разгон ядра почти неощутим, ибо у всех без исключения современных видеокарт узким местом является пропускная способность локальной видеопамяти).

Ну вот, заодно мы выяснили, что GeForce2 GTS гораздо увереннее чувствует себя в 16-битных режимах, нежели в 32-бит ных. Посмотрите, какое падение производительности наблюдается в 16 битах при переходе от разрешения 640 х 480 к 1024 х 768! Не зря говорят, что GF2 GTS - идеальный ускоритель High Color. Причина сами знаете в чем - в скорости видеопамяти.

Учтите это в своей практике. Часто режим 1152 х 864 @ 16 бит дает лучшее качество картинки, чем 1024 х 768 @ 32 бит. Все зависит от конкретной игры - в некоторых разницы между 16- и 32-битными режимами нет вообще, тогда как в других использовать 16-битные режимы невозможно из-за сильной цветовой полосатости и непотребных визуальных дефектов (например, зеленый дым из-под колес автомобилей в NFS: PU).

Что еще хотелось бы отметить, возвращаясь к 32-битному цвету. Многими незаслуженно забыт замечательный режим 960 х 720 точек. Хотя на первый взгляд это разрешение кажется лежащим ближе к 800 х 600, чем к 1024 х 768, на самом деле это не так. Простой подсчет дает, что 960 х 720 далеко ушел вперед от 800 х 600 (прирост в 160 пикселей по горизонтали) и находится недалеко от широко известного режима 1024 х 768 (разница всего в 64 точки по горизонтали). Я могу поклясться, что большинство пользователей не отличат на 17-дюймовом мониторе режимы 960 х 720 и 1024 х 768. При этом использование разрешения 960 х 720 дает два ощутимых плюса:

- подавляющее большинство 17-дюймовых и часть 19-дюймовых мониторов, у которых максимальная частота горизонтальной развертки составляет 96 кГц (1600 х 1200 @ 75 Гц), держат в режиме 1024 х 768 только 100 Гц вертикальной развертки, не дотягивая совсем чуть-чуть до следующей стандартной частоты в 120 Гц. Режим 960 х 720 прекрасно чувствует себя на таких мониторах при частоте 120 Гц. Это большой плюс для хардкорных геймеров, поскольку в динамичных играх из разряда 3D Action повышенная частота регенерации экрана является отнюдь не лишней.

Проще говоря, если вас не совсем устраивает скорость в режиме 1024 х 768 @ 32 бит (а со многими современными играми так оно и будет, особенно при максимально комфортных настройках графики) и вы уже подумываете, не переключится ли в 16-битный цвет, поскольку режим 800 х 600 уж слишком зернист, попробуйте перейти к разрешению 960 х 720 @ 32 бит - возможно, это окажется удачным компромиссом.

Правда, многие игры не подозревают о существовании режима 960 х 720, поскольку это разрешение не является стандартным для Windows. Его нужно прописать вручную в реестре. Делается это так: в разделе

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Class\Display\0000\MODES\
16 (или HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\Class\Display\0000\MODES\32)

нужно добавить подраздел с именем "960,720" по образу и подобию других разделов, описывающих остальные разрешения. Внутри раздела "960,720" можно создать строковый параметр "RefreshRate" и присвоить ему необходимое значение частоты обновления. После этого вы сможете использовать разрешение 960 х 720 как в двухмерной графике в Windows, так и практически во всех трехмерных играх.

Имейте в виду, что подобным образом вы можете прописывать в реестре и другие нестандартные разрешения. Я, например, широко использую режим 1088 х 816. К сожалению, видеокарты на чипах NVIDIA в сочетании с операционными системами семейства Windows не позволяют манипулировать разрешениями с точностью до пикселя.
Все вышеописанные уловки с прописыванием в реестре нестандартных графических режимов работают с любыми чипами NVIDIA, начиная с Riva TNT.

OpenGL

Для измерений в OpenGL использовалась... ну да, разумеется Quake III Arena. Никуда нам не деться от этого бенчмарка всех времен и народов (таблица 4).
Что же мы видим? Заметное влияние на скорость оказывают только разгон и включение анизотропной фильтрации. Остальные настройки практически не влияют на количество fps.

Небольшого пояснения требует тот факт, что между режимами Vsync ON и Vsync OFF отсутствует сколько-нибудь заметная разница в скорости. Этот факт можно объяснить тем, что частота обновления в каждом конкретном режиме была заведомо выше, чем средний показатель fps. Более того, можно предположить, что и мгновенный fps никогда не поднимался выше планки стандартной частоты обновления.

Все же я рекомендую отключать вертикальную синхронизацию, поскольку в некоторых случаях (в других OpenGL-приложениях) алгоритм синхронизации выглядит следующим образом: если мгновенный показатель fps превышает частоту обновления экрана (например, 100 Гц), то видеокарта выдает ровно 100 fps. Если же мгновенный fps "проседает" ниже этого значения, видеоподсистема переключается на в 2 раза меньшее количество кадров в секунду и мы получим стабильные 50 fps. Если скорость по каким-то причинам падает ниже 50 fps, то видеосистема переключается на 25 fps и т. д.

Такой занимательный эффект действительно имеет место (проверено с помощью программы glclock 6.0, имеющей встроенный счетчик количества кадров в секунду). Мораль: зачем вам фиксированные 50 fps, если видеокарта может обеспечивать в этот момент 90 fps? Повторяю, эффект привязки к кратным частотам обновления экрана присутствует не во всех OpenGL-приложениях - в Q3A ничего подобного не наблюдается. Но все же лучше установить соответствующий пункт драйверов в состояние Always OFF.

Вернемся к таблице 4. Обратите внимание на то, что результаты, соответствующие режимам 200/333 + Trilinear filtering и 220/366 + Anisotropic filtering, практически совпадают. В переводе на человеческий язык это означает, что, разогнав карту, вы можете наслаждаться преимуществами анизотропной фильтрации без ущерба для скорости! И хотя разогнанная видеокарта с анизотропной фильтрацией немного отстает по скорости от неразогнанной видеоподсистемы, использующей трилинейную фильтрацию, это легко исправляется дальнейшим увеличением тактовой частоты. Качественные видеоплаты на базе GeForce2 GTS, как правило, допускают разгон до 230/375 МГц без потери стабильности.

На основе движка Quake III Arena создано много высококлассных игр, таких как American McGee Alice, Star Trek Voyager: Elite Force и проч. Поэтому-то Q3A и является хорошим бенчмарком в OpenGL. И именно поэтому я хотел бы затронуть тему компрессии текстур именно в этой игре.

Таблица 4. Q3A, demo001, без компрессии текстур

 

640x480     

800
x
600

960
x
720

1024
x
758

1152
x
864

1280
x
1024

200/333 Trilinear filtering

121,1  

104,2

78,9 

71,4 

54,2 

42,3

220/366 Vsync OFF      

122,6

110,4

86,9

78,8

59,9

46,9

220/366 Vsync ON  

122,3

110,1

86,8

78,7

60,1

46,8

220/366
Fast linear-mipmap
+ linear filtering      

122,6

110,4

86,8

78,7

60,0

46,8

220/366
Anisotropic filtering   

120,4

 100,5 

76,4

69,4

53,5

42,0

220/366
Enable alternate depth
buffering technique     

122,3 

110,3

86,8

78,7

60,1

46,8

220/366
Always use 16 bpp for textures     

122,6 

110,5

86,8

78,7

60,0

46,8


По умолчанию в Q3A включена компрессия текстур по стандарту S3TC. Это дает хороший прирост производительности (порядка 10-15%). Однако в драйверах NVIDIA (по крайней мере вплоть до версий 6.50) компрессия реализована очень криво. Дело в том, что по умолчанию используется формат компрессии DXT1, аппаратная распаковка которого на GF2 GTS производится некорректно. В результате небо (текстура, содержащая плавные цветовые переходы) выглядит совершенно непотребным образом (см. скриншоты).

Пояснений требуют скриншоты под названием S3TC ON_FIX и S3TC ON_FIX_II. В референс-драйверах NVIDIA, начиная с версии 6.47, существует возможность переключаться между форматами DXT1 и DXT3.

Это можно сделать с помощью правки реестра: в разделе HKEY_LOCAL_MACHINE\
System\CurrentControlSet\Services\Class\
Display\0000\NVidia\OpenGL нужно создать переменную S3TCQuality типа dword и присвоить ей значение 1.

В этом случае будет использоваться формат DXT3 и именно этот случай показан на скриншоте S3TC ON_FIX. Как видим, наблюдается значительное улучшение качества по сравнению со случаем сжатия текстур по умолчанию, в формат DXT1.

Возможен альтернативный способ улучшения качества сжатых текстур, не связанный с правкой реестра. Для этого нужно скачать из интернета утилиту S3TC FIX PACK 2 и с ее помощью модифицировать исполняемый файл Q3A. По данным авторов программы, это позволяет переключиться из формата DXT1 в DXT5. Посмотрите на скриншоты и таблицу 5 - разницы в производительности в режимах S3TC ON_FIX и S3TC ON_FIX_II нет практически никакой.

Самый радикальный способ достижения максимального качества - принудительно выключить компрессию текстур (кстати, во всех предыдущих тестах компрессия текстур была выключена). Делается это консольной командой Quake III Arena следующим образом:

r_ext_compress_textures 0
vid_restart

А теперь посмотрим на разницу в скорости между этими режимами (таблица 5). 

Таблица 5. Q3A, demo 001, компрессия текстур

 

640
x
480  

800
x
600

960
x
720

1024
x
758

1152
x
864

1280
x
1024

220/366 S3TC OFF (DXT1)

122,6

110,4

86,9

78,8

59,9

46,9

220/366 S3TC ON      

123,8

118,5

103,7

95,6

72,6

56,3

220/366 S3TC ON_FIX (DXT3)      

124,8

116,5

97,5

89,4

67,5

52,8

220/366 S3TC ON_FIX_II (DXT5)      

123,6

116,7

98,1

89,4

67,5

52,4


Разница есть. И не просто есть - она огромна. Как вам нравится скачок производительности с 78 до 95 fps в режиме 1024 х 768? Правда, лоскутное небо в формате DXT1 выглядит омерзительно, но качество всех остальных текстур нисколько не страдает (на глаз). Точнее сказать, разница в качестве есть, но она заметна только в том случае, если вы подходите вплотную к стенам.

Очень хорошим компромиссом между качеством неба и скоростью является режим S3TC ON_FIX. Советую вам не связываться с различными утилитами, а один раз прописать в реестре переменную S3TCQuality = 1.
Напоследок хочу дать совет касательно оптимальных настроек для получения максимального качества игры (на видеокарте GeForce2 GTS, разогнанной до 220/366 МГц).

Quake III Arena: 1024 х 768 @ 32 бита, High Quality (Geometry Detail - Medium, Texture Quality - 3), компрессия текстур выключена. В таком режиме тест demo001 выдает 91,6 fps. Если этого мало, можно включить "исправленную" компрессию текстур - fps зашкалит за сотню.

Star Trek Voyager: Elite Force: рекомендуются те же настройки, что и в Quake 3 Arena.

American McGee Alice: 960 х 720 @ 32 бита, High Quality.
Вот такие вот дела. Так что подумайте перед тем, как разгонять память или процессор на вашей карте - возможно, вполне приличных результатов можно будет добиться просто немного посидев над настройками. 

***
Продолжение следует.

Источник: http://www.computery.ru/upgrade/

 


Copyright © "Internet Zone"info@izcity.com
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас.