- Улучшение поизводительности
- Пользователям NT
- Список SST переменных
- Список FX переменных
- Что такое разгон и как/зачем надо сделать это с моей 3Dfx платой?
- Можно ли запустить на плате с 3Dfx GLQuake с разрешением 800x600?
- Можно ли запустить GLQuake на Voodoo под NT?
Улучшение поизводительности
Правильная настройка установок переменных в конфигурационном файле управляет работой чипсета Voodoo Graphics. Существует несколько команд, с помощью которых заметно можно улучшить производительность в GLQuake.
Вот, в качестве примера, часть файла autoexec.bat для Windows'95, относящаяся к настройкам Voodoo.
- REM GLQUAKE STURTUP FILE
- SET SST_SCREENREFRESH=75
- SET SST_VIDEO_24BPP=1
- SET SST_GRXCLK=57
- SET FX_GLIDE_NO_SPLASH=1
- SET SST_FASTMEM=1
- SET SST_FASTPCIRD=1
- SET SST_SWAP_EN_WAIT_ON_VSYNC=0
- SET FX_GLIDE_SWAPINTERVAL=0
Да, если Вы используете эти установки переменных в файле запуска самой игрушки, то не забудте добавить строку:
"D:GAMESQUAKEGLQUAKE %1 %2 %3 %4 %5 %6 %7 %8 %9"
Самая важная из перечисленных строк переменных, влияющих на увеличение скорости, это строка SET FX_GLIDE_SWAPINTERVAL=0, наличие которой уже само по себе увеличивает производительность на дополнительных 5-10 fps.
Строка переменной SET SST_GRXCLK=57 устанавливает тактовую частоту внутренней шины 3Dfx платы. Я не рекомендую изменять эту цифру на большую, чем 57, тем более что на производительность эта переменная влияет мало.
Пользователям NT:
Заметим, что под NT будут запускаться только игры, поддерживающие API GLide. Последняя версия GLide — 2.43. Установка не должна вызвать затруднений, а после перезагрузки будут прекрасно работать GlQuake и Quake2. Кстати, это касается плат на Voodoo от всех производителей. Т.е. искать специальные драйверы, например для Monster3D, на сайте производителя нет необходимости.
На самом деле уже есть бета версия 2.5, но официально она не распространяется.
Последняя версию драйверов DirectX для 3Dfx Voodoo Graphics — 2.15.
Теперь, когда драйверы для 3Dfx доступны и для NT 4.0, Вы также можете самостоятельно устанавливать значения этих переменных. Для этого надо просто войти в раздел Control Panel и открыть подраздел System. Далее, кликните на закладку Environment в панеле управления System и переведите свое внимание на нижнею часть.
Там, в строке, находящейся внизу просто введите имя переменной и ее значение, которое Вы хотите установить; при этом не нужно использовать "SET" или "=", после чего нажмите мышкой [SET]. Вы должны увидеть введенную вами строку в разделе "пременные пользователя" (User Variables). Эти переменные будут влиять на работу всех программ под WindowsNТ, использующих процессор 3Dfx.
Ниже я привожу список ВСЕХ известных переменных процессора 3Dfx. НЕ ДЕЛАЙТЕ установку недокументированных переменных. Лишь те переменные, которые я показал в списке из моеко конфигурационного файла дают наибольший эффект от применения, увеличивая производительность.
Замечание:
Названия переменных чувствительны к размеру букв. Используйте только заглавное написание!
SST Переменная | Значение | Описание |
---|---|---|
SST_ARCADE | ||
SST_BACKPORCH | ||
SST_BGAMMA | от 0 до 2.5 | Настройка градаций яркости голубого цвета |
SST_BOARDS | Позволяет использовать несколько Voodoo плат в одной ситстеме, при этом несколько подключенных к ним мониторов будут показывать одну общую картинку, как будто имеется один большой экран. | |
SST_DEBUGDAC | 1 | Отображает информацию о работе АЦП |
SST_DIMENSIONS | ||
SST_DUALHEAD | 1 | Разрешает использование двух мониторв |
SST_FASTMEM | 1 | Быстрое конфигурирование оперативной памяти, разрешает использование тактов для EDO памяти, т.е. работа памяти ускоряется |
SST_FASTPCIRD | 1 | Включение опции быстрого чтения через шину PCI, установка задержек по времени для процессов чтения через шину PCI (Voodoo -> PCI). |
SST_FBICFG | Настройка процессора, управляющего буфером кадра, на прямое конфигурирование текстурных регистров. Установка типов закраски по методу Гуро и т.д. | |
SST_FBIMEM_SIZE | Объем установленной памяти буфера кадра. Управление автоматическим процессом определения объемов памяти через API Glide. | |
SST_FT_CLK_DEL | Установка значения скорости, с которой может осуществлятся доступ к памяти буфера кадра. | |
SST_GAMMA | от 0.5 до 2.5 | Настройка общей градации яркости цветов |
SST_GGAMMA | от 0 до 2.5 | Настройка градаций яркости зеленого цвета |
SST_GRXCLK | по умолчанию 50 | Тактовая частота графического процессора в MHz. |
SST_HSYNC | 1 | Разрешает горизонтальную синхронизацию. |
SST_IGNORE_INIT_REGISTERS | 1 | Разрешает инициализацию чипсета Voodoo, тогда, когда Voodoo уже проинициализирован. Очень удобно для инициализации сброса параметров настройки Voodoo. |
SST_IGNORE_INIT_VIDEO | ||
SST_IGNORE_SLI_CHECK | Отключение автоматической проверки наличия дополнительного (зависимого) процессора буфера кадра, удваивающего скорость. | |
SST_INITDEBUG | Разрешает отображение информации о работе glide драйверов под DOS или Win95 DOS оболочке. | |
SST_INITDEBUG_FILE | При разрешенном отображении, записывает информацию о работе glide в файл. | |
SST_MEMINFO | 1 | Разрешает использование буфера памяти (FIFO — Fist In Fist Out), ускоряющего работу |
SST_MEMINFO_ENTRIES | ||
SST_MEMINFO_HWM | ||
SST_MEMINFO_LFB | 1 | Запись в буфер кадра осуществляется через буфер памяти, размер буфера на запись/чтение памяти для прямого буфера кадров |
SST_MEMINFO_LWM | ||
SST_MEMINFO_TEX | 1 | Запись текстур осуществляется через буфер памяти, размер буфера памяти на запись/чтение для процессора текстур |
SST_MEMOFFSET | Определение адреса буфера кадров вне основной карты адресов | |
SST_NODEVICEINFO | ||
SST_NOSHUTDOWN | Запрещает сброс инициализации процессора Voodoo после завершения программы. Очень удобно для spawns. | |
SST_PCIFIFO_LWM | ||
SST_PFT_CLK_DEL | Определение (предварительное) значения скорости, с которой возможен доступ к буферу кадра | |
SST_PTF0_CLK_DEL | Предварительное определение скорости доступа к памяти текстурного процессора в 0 тактов задержки | |
SST_PTF1_CLK_DEL | Предварительное определение скорости доступа к памяти текстурного процессора в 1 такт задержки | |
SST_PTF2_CLK_DEL | Предварительное определение скорости доступа к памяти текстурного процессора в 2 такта задержки | |
SST_RGAMMA | от 0 до 2.5 | Настройка градаций яркости красного цвета |
SST_SCREENREFRESH | по умолчанию 60 | Установка частоты вертикальной развертки (60, 72, 75, 85, 120 Hz) Замечание: при использовании значений частоты развертки больших, чем 60 Гц необходимо добавить переменную SST_VIDEO-24BPP=1, что бы имелась возможность осуществлять регулировку яркости изображения. Чтобы установить частоту развертки 120 Гц, необходимо использовать переменную FX_GLIDE_SWAPI_NTERVAL=0, но при этом будет понижен уровень выходного сигнала. |
SST_SCREENREZ | Установка разрешения виртуального экрана | |
SST_SLIDETECT | 0 | Интерполяция сканируемых линий, определение наличия вторичной подсистемы на процессоре voodoo. |
SST_SLIM_PVOUT_CLKDEL | Установка тактов задержки на предварительную обработку пиксела для буфера кадра первичного процессора | |
SST_SLIM_VIN_CLKDEL | Такты задержки на входной видеосигнал для первичной системы (для работы с внешним синхронизатором/генератором тактовой частоты) | |
SST_SLIM_VOUT_CLKDEL | Установка тактов задержки на обработку пиксела для первичной системы. Можно использовать только при наличии нескольких FBI и TMU. | |
SST_SLIS_PVOUT_CLKDEL | ||
SST_SLIS_VIN_CLKDEL | Установка задержек для тактов видеосигнала на входе вторичной подсистемы (для синхронизации с первичной платой). | |
SST_SLIS_VOUT_CLKDEL | Установка тактов задержки на обработку пиксела для вторичной системы. Можно использовать только, если имеется несколько FBI (Frame Buffer Interface — интерфейс буфера кадров) и множество TMU (Texture Mapping Unit — элемент накладываемых текстур). SST_SLIS_PVOUT_CLKDEL — установка тактов задержки на предварительную обработку пиксела для вторичной системы. | |
SST_SLOWPCIWR | Установка дополнительных тактов задержек для шины PCI при записи в память платы на Voodoo и для операций Ввода/Вывода. (PCI -> Voodoo). | |
SST_SWAP_EN_WAIT_ON_VSYNC | 0 | Отключение синхронизации по вертикальной развертке монитора, в результате чего обновление экрана происходит до того, как картинка полностью выводится на мониторе. |
SST_TEXMAP_DISABLE | Запрещение наложения текстур | |
SST_TF_FIFO_THRESH | Операции Чтения/Записи Центрального процессора/буфера кадра в/из память текстур осуществляется через fifo-буфер, причем процессор текстур в это же время может осуществлять другие операции над этой памятью. Установка такого порога на чтение/запись для fifo-буфера текстур сообщает интерфейсу glide, что этот FIFO-буфер нуждается в обслуживании и может принимать больше данных как из буфера кадра, так и от CPU. | |
SST_TF0_CLK_DEL | Установка скорости доступа к памяти в 0 тактов задержки для процессора текстур. | |
SST_TF1_CLK_DEL | Установка скорости доступа к памяти в 1 такт задержки для процессора текстур. | |
SST_TF2_CLK_DEL | Установка скорости доступа к памяти в 2 такта задержки для процессора текстур. | |
SST_TILESINX | ||
SST_TMUCFG | Процессор текстур напрямую определяет конфигурацию регистров, отвечающих за побитовое кодирование изображения. Напрямую определяет тип текстур, оверлеи (перпекрытия) и т.д. | |
SST_TMUMEM | ||
SST_TMUMEM_SIZE | Размер установленной памяти для хранения текстурных карт. Не принимая во внимание автоопределение, осуществляемое glide. | |
SST_TREX0INIT0 | Установка процессором текстур напрмую значения первичного регистра кодирования изображения на 0 (glide изменит значения этого и остальных регистров в зависимости от других переменных окружения). | |
SST_TREX0INIT1 | Установка процессором текстур напрмую значения вторичного инициализируещего регистра кодирования изображения на 0 | |
SST_TREX1INIT0 | Установка процессором текстур напрмую значения первичного инициализируещего регистра кодирования изображения на 1 | |
SST_TREX1INIT1 | Установка процессором текстур напрмую значения вторичного инициализируещего регистра кодирования изображения на 1 | |
SST_TREX2INIT0 | Установка процессором текстур напрмую значения первичного инициализируещего регистра кодирования изображения на 2 | |
SST_TREX2INIT1 | Установка процессором текстур напрмую значения вторичного инициализируещего регистра кодирования изображения на 2 | |
SST_TRIPLE_BUFFER | Если программой не поддерживается Z- или Alpha-буферизация, тогда используется вспомогательный буфер, в качестве неявного скоростного буфера! | |
SST_VFIFO_THRESH | Определение граничной точки в буфере кадра к которой должен осуществляться доступ при передаче данных из шины PCI в плату на Voodoo прежде, чем начнется обслуживание FIFO-буфера. | |
SST_VGA_PASS | 1 | Разрешение сквозного прохождения VGA сигнала |
SST_VIDCLK2X | ||
SST_VIDEO_24BPP | 1 | Разрешение использования 24-битного видео режима |
SST_VIDEO_CLEARCOLOR | Заливка цветом во вторичном буфере осуществляется во время смены видеостраниц (а также SST_VIDEO_NOCLEAR=0). | |
SST_VIDEO_DISABLE | Запрещение потока данных через видео ЦАП. Синхронизация может сохранятся до тех пор, пока активны переменные синхронизации. | |
SST_VIDEO_FILTER_DISABLE | Запрещение плавного преобразования 24 битного цвета в 16 битный. Читай — запрещение сглаживания. | |
SST_VIDEO_FILTER_THRESHOLD | установка порога в 16 бит для пиксела, к которому применяется сглаживание по отношению к поверхности соседнего пиксела. | |
SST_VIDEO_NOCLEAR | Запрет очистки вторичного буфера во время смены текущей видеостраницы | |
SST_VIN_CLKDEL | Установка тактов задержки на входящий видеосигнал при наличии одной платы на Voodoo. | |
SST_VOUT_CLKDEL | Установка тактов задержки на выходящий видеосигнал при наличии одной платы на Voodoo. | |
SST_VSYNC | 0 | Запрещение синхронизации вертикальной развертки, может увеличить производительность |
FX Переменная | Значение | Описание |
---|---|---|
FX_CPU | ||
FX_GLIDE_BOUNDS_CHECK | ||
FX_GLIDE_LWM | ||
FX_GLIDE_NO_SPLASH | 1 | Отключение отображения анимированного логотипа 3dfx при переключении из 2d в 3d режим. |
FX_GLIDE_SHAMELESS_PLUG | 1/0 | Разрешение отображения неподвижного логотипа 3dfx при инициализации glide. |
FX_GLIDE_SNAPSHOT | ||
FX_GLIDE_SST2 | ||
FX_GLIDE_SWAPINTERVAL | 0/1/2/3 | 0 = выключено. Если значение 0, то производится обмен содержимого вторичного буфера с првичным, так быстро, как это только возможно. Если значение 1, то обмен содержимым осуществляется синхронизированно по вертикальной развертке, если значение 2, то обмен содержимым происходит при каждой второй синхронизации по вертикальной развертке, соответственно при 3, обмен содержимым происходит при каждой третьей синхронизации по вертикальной развертке |
Что такое разгон и как/зачем надо сделать это с моей 3Dfx платой?
В состав чипсета 3Dfx входит микросхема, которая управляет скоростью обработки информации вашей платой. Это скорость может изменяться программным способом; с другой стороны, Вы можете увеличить эту скорость до максимума, что в принципе увеличит производительность, но при этом неисключено возникновение ошибок при наложении текстур. Это и есть разгон.
На вашей плате с чипсетом 3Dfx имеется память, которая используется для буферизации и хранения текстур. Кстати, этот параметр является причиной отличий между первыми тремя появившимися на рынке построенных на чипсете 3Dfx плат. Акселератор Flash3d имеет 40ns память, Monster имеет 45ns, а Righteous имеет 50ns память. Чем меньше значения чисел, тем на большей частоте может происходить внутренний обмен данными в вашей плате без искажения текстур.
Обычно, плата по умолчанию работает на внутренней шинной частоте 50 Mhz, однако большинство адаптеров можно безбоязненно разогнать до 57 MHz.
Платы Righteous в свое время имели массу проблем, связанных именно с памятью; если во время игры в GLQuake у вас на экране замирает изображение при разгоне до 57 Mhz, то у вас бракованная плата.
Что бы изменить значение шинной частоты надо добавить строку SET SST_GRXCLK= в файлы autoexec.bat или GLQuake.bat. Более подробно об этом написано выше.
Одним из неприятных побочных явлений, в следствии разгона, может стать увеличение нагрева чипов, в результате может сократиться жизненный цикл вашей платы. Однако, разгон до частоты 57 Mhz, судя по всему, является безопасным верхним порогом разгона для чипсета 3Dfx. Если же обеспечить нормальное охлаждение, то частоту можно поднять до значений, больших 60 Mhz.
Вот интересный пример:*
Первый Diamond Monster 3D rev. А, имел память 50 ns и, по отзывам из Интернета эта модель лучше всего поддавалась разгону. Конкретный экземпляр у меня позволяет разгоняться да 67 Mhz (при охлаждении платы с помощью дополнительного вентилятора) без потери качества изображения.
Можно ли запустить на плате с 3Dfx GLQuake с разрешением 800x600?
Пренебрегая фактом, что Вы можете запустить GLQuake в окне, с параметрами размеров 800 пикселов по высоте и 600 пикселов по ширине, на видеоакселераторе, сделанном на Voodoo процессоре, Вы не сможете играть в разрешении 800x600.
Все платы на чипсете Voodoo от 3Dfx имеют 4MB памяти, за исключением Canopus Pure3D, которая имеет 6 Mb; из имеющейся паямяти 2 Mb используются для хранения текстур, а длругие 2 Mb для буфера кадра. На плате Pure3D дополнительные 2 Mb памяти используются для хранения текстур, что, при условии поддержки такого объема памяти играми, должно обеспечить лучшее качество изображения без ущерба производительности. В качестве Z-буфера, который используется в GLQuake, используется память, отведенная для буфера кадра, что делает невозможным поддержание картой разрешения 800x600.
Платы на процессоре Voodoo Rush, в которых поддерживается до 6MB памяти имею возможность запускать Quake в режиме 800x600, хотя идти игра будет медленнее, чем в режиме 640x480.
На самом деле в GLQuake все-таки можно поиграть в разрешении 800х600, но только на очень дорогих ($600-800) платах с чипсетом 3Dfx Voodoo, например на карте Obsidian 100SB (например модель 4440) от компании Quantum3D. Это экзотика даже для империалистов :-) — две почти полных Voodoo-системы, работающие в режиме SLI: 2 Pixelfx, 4 TMU (Texture Mapping Unit), 20 Mb EDO DRAM (4 Mb для буфера кадра, 16 Mb под текстуры). Кстати, эта плата может легко конкурировать с адаптерами на Voodoo2, но только не по цене.
Можно ли запустить GLQuake на Voodoo под NT?
Конечно. Все что для этого нужно, это установить библиотеку GLIDE, для чего нужно войти в систему с правами администратора, и воспользоваться последней версией OpenGL минипорт драйвера из директории, в которой находится Quake. По крайней мере GLQuake GLQWCL и Hexen II под NT запускаются без проблем. Только одна вещь отказывается работать — DirectSound, причем установка SP3 не решает проблемы.