Jerr, Вот подробнее: Все началось в тот день, когда мир впервые услышал слово 3dfx. Извечная борьба белковых структур с бесчисленными врагами вышла на новый уровень реалистичности. Современные ускорители позволили нам ощутить себя победителями в этом непростом и зловещем мире, натренировать волю, да и просто получить массу удовольствия. Но не случалось ли вам в самый ответственный момент, когда десяток монстров или товарищей по оружию делают из вас решето, терять контроль над ситуацией? Как будто невидимая рука останавливает героя, превращая его плавные движения в медленное слайд-шоу. Случалось, и не раз? Если да, тогда вам срочно необходимо настроить своего электронного друга, выжать из него все соки и заставить работать на полную мощь. А вот как увеличить скорость, не вкладывая дополнительно денег, - действительно вопрос.
Разберем по косточкам настройки самого популярного и любимого семейства акселераторов от nVidia - Riva TNT2. Все представители этого дружного семейства используют универсальный драйвер, подходящий для Vanta, M64, Pro, Ultra и, конечно же, "чистой" TNT2. Поэтому все нижесказанное верно для любого из этих ускорителей.
Самый простой и логичный метод увеличение быстродействия видеокарты - разгон, или по-научному, оверлокинг. Наиболее популярна среди оверлокеров утилита Powerstrip (http://www.entechtaiwan.com/), управляющая самыми важными режимами работы ускорителя. Изменяя частоту чипа и памяти, конечно же, можно несколько увеличить fps (см. таблицу 1), но, как правило, все экземпляры нормально переносят повышение тактовых частот только на 10 MHz. Заставить плату трудиться в еще более нагруженном режиме - настоящее искусство, ведь далеко не каждая карта выдержит дополнительную нагрузку. К тому же, скорее всего, после разгона возникнут проблемы со стабильностью работы - в этом случае надо усовершенствовать систему охлаждения (говоря проще, поставить мощный радиатор и вентилятор). В любом случае, оверлокинг - не самый лучший и безопасный способ изменить быстродействие.
Давайте лучше поэкспериментируем с настройками. Спрятаны регулировки в настройке экрана/дополнительно. Нашли закладку RIVA TNT2 (или Vanta, TNT2M64 - в зависимости от используемого ускорителя)? В ее дополнительных свойствах вам потребуются только закладки Direct3D и OpenGL. Любопытным на заметку: практически все драйверы для Рив разных производителей содержат одни и те же возможности по регулировке 3D-графики. Рассмотрим их подробнее.
Думаю, ни для кого не секрет, что существует две разновидности виртуального тумана - вершинный и табличный. Direct3D.Enable fog table emulation эмулирует последний. Он больше распространен и имеет очень качественную реализацию, но не поддерживается некоторыми играми. Поэтому для его эмуляции в закладке Direct3D эта опция включена по умолчанию. У вас в игре с туманом нет проблем? Тогда лучше данную функцию отключить - любая эмуляция съедает дополнительные ресурсы. Если в настройках драйвера соответствующей опции нет, можно прописать в реестре HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\Direct3D\ параметр DWORD [FOGTABLEENABLE]=0000000(0) [=0000100(256)-включение эмуляции тумана]. Подраздел 0000 должен соответствовать текущему видеоадаптеру.
Direct3D.Use DirectX 5.0 compatibility mode отвечает за использование режима совместимости с DirectX5. На первый взгляд, неприметная и ненужная функция, но это далеко не так. Она позволяет отключать режим мультитекстурирования для Direct3D-игр. Из-за того, что мультитекстурирование не поддерживалось в DirectX5, возникло такое загадочное название опции. Чипсет TNT2 имеет двухконвейерную архитектуру, т. е. за один такт обрабатываются два пикселя, на каждый из которых накладывается одна текстура. В режиме мультитекстурирования используется одновременно две текстуры, а значит, возрастает скорость - но за счет отключения одного из двух конвейеров обработки пикселей. В итоге, в играх, поддерживающих мультитекстурирование (Monolith Shogo, Rage Expendable), получаем прирост скорости, а в остальных случаях (Rage Incoming, Turok, Snow mobil) налицо явный проигрыш. Вот для последних и надо включить Use DirectX 5.0 compatibility mode. В OpenGL драйвер работает в прямо противоположном режиме. Режим мультитекстурирования отключен, и во многих новых играх (например, Quake II/III) ускоритель не использует всех своих возможностей. Если вы создадите в реестре HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\OpenGL\ параметр DWORD [ForceMultiTexture]=0000001(1), мультитекстурирование будет включено. И хотя для TNT2 быстродействие повышается незначительно, то Vanta и M64 превращаются на ваших глазах в настоящих монстров. В Quake II скорость возрастает на 30-35%. Объяснить все это немудрено. В младших версиях TNT2 конвейер рендеринга, из-за малой пропускной способности шины памяти, попросту простаивает, и поэтому при включении мультитекстурирования производительность наложения текстур повышается. Пользоваться этими функциями следует осторожно, учитывая особенности той или иной игры. В противном случае, вместо ускорителя получите "тормозитель" трехмерной графики :-).
Direct3D.Mipmapping.Automatically generate 0-12 mipmap levels автоматически генерирует от 0 до 12 текстурных mipmap-уровней. Так как технология mipmap делит сцену на ряд уровней, удаленных от наблюдателя на различное расстояние, получается реалистичное изображение. Наиболее удаленные объекты окрашиваются текстурами с малым разрешением - эффект неискаженного и немного размытого изображения (т. е. с учетом перспективы), на первом же плане предметы детализируются. Данный параметр позволяет принудительно задавать количество mipmap-уровней. Так как почти все игры самостоятельно разбивают сцены на уровни, игнорируя настройки видеокарты, большого практического применения данная функция не имеет.
С помощью Direct3D.Mipmapping.Automipmap вы сможете выбрать один из трех графических фильтров - билинейный, трилинейный или анизотропный. Основная задача фильтрации - сглаживание резких переходов между mipmap-уровнями. Самая быстрая и простая в реализации, билинейная фильтрация не требует больших ресурсов. Для определения цвета пикселя в ней используются характеристики четырех соседних текселей. В трилинейной фильтрации при этом применяется усредненное значение восьми текселей. Правда, реализуется она в семействе TNT2 не очень качественно, и в последних версиях драйверов для Direct3D недоступна. В режиме OpenGL включается в закладке OpenGL.UseFastLinear-Mipmap-LinearFiltering. Анизотропная фильтрация - самый ресурсоемкий метод и на сегодня единственный, учитывающий пространственные искажения. В режиме OpenGL функция доступна в OpenGL.UseAnisotropicFiltering. И не забывайте, если игра имеет собственные установки метода фильтрации - настройки драйвера игнорируются.
Direct3D.Mipmap detail level - выбор уровня детализации. Думаю, данная опция в комментариях не нуждается. Вам предлагается пять вариантов детализации - от максимального качества до максимального быстродействия (естественно, с минимальным качеством). Повышается скорость за счет более раннего перехода на mipmap-уровни с меньшим разрешением текстур.
Direct3D. Enable Anti-aliasing - эта функция сглаживает диагональные линии для создания плавного наклона. Благодаря интерполяции значений цветов прилегающих пикселей, исчезает эффект "лесенки". Размер матрицы, откуда пиксели и берутся, регулируется от 2х1 до 4х4. Чем больше матрица, тем изображение качественнее. Помните только, данный алгоритм задействует большие вычислительные ресурсы.
OpenGL.EnableBufferRegionExtension включает расширение буферной области GL_KTX_buffer_region для графического пакета 3D MAXX, таким образом трансформируются выделенные 3D-объекты по всей сцене без перерасчета невыделенных объектов. В играх не применяется.
OpenGL.BufferFlippingMode - режим смены содержимого буфера. При выборе значения use page flip можно ускорить работу полноэкранных приложений, включая быстрый постраничный обмен кадровых буферов. По умолчанию последний происходит побитовыми блоками.
OpenGL.VerticalSync - очень важный параметр, снимает привязку к сигналу вертикальной синхронизации (Vsync) монитора. Если опция выключена, то ограничения, накладываемые частотой регенерации монитора на производительность акселератора, игнорируются. Если хотите добиться максимальной скорости - не проходите мимо этой функции. В случае получения рваного изображения, пропишите в реестре HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\OpenGL\ параметр DWORD [EnableTripleBuffer]=0000001(1).
OpenGL.DisableSupportForEnhanced_CPU_InstructionsSet выключает поддержку расширенных наборов инструкций 3Dnow! и SSE. Если у вас процессор AMD K6-2, AMD K6-3, AMD Athlon или Intel Pentium III, опцию следует отключить, иначе лишитесь оптимизации и соответственно дополнительной производительности. Для остальных процессоров лучше оставить параметр включенным - появится небольшая прибавка в скорости.
OpenGL.DefaultColorTextures отвечает за выбор глубины цвета текстур 16 или 32 бит. Любителям скорости не стоит обращать внимание на 32-битный цвет - он не намного улучшает качество изображения, а производительность, особенно у Vanta и M64, сильно падает.
Вот, кажется, и все. Прогресс не стоит на месте. Заглядывая в кошельки, он преследует нас по пятам. А по сему - ускоряйтесь и не досягаемы будете. Успехов!