Скрытые возможности Riva TNT

Не знаю как у вас, читатель, а у меня видеокарта Riva TNT - маленькая, желто-оранжевая плата с десятком пластинок-микросхем и черным радиатором в центре. Я купил ее зимой этого года, разыскав по объявлениям в интернете. Понимаю, что в наше время такой уже никого не удивишь. Ее уже давно записали в список отстойных товаров и так же давно не выпускают. Увы! Техника нынче стареет все быстрее, не успевая при этом удовлетворять все растущие и растущие нужды нашей сумасшедшей цивилизации.

Но не цивилизации, какой бы она ни была, посвящена эта статья. Как можно догадаться по ее названию, речь пойдет о видеокартах, построенных на базе графического процессора Riva TNT, выпускаемого фирмой nVidia. Скрытые возможности, которые здесь описываются, доступны исключительно на Riva TNT, TNT2 и GeForce. На распространенных у нас платах других производителей, по крайней мере, на тех, которые были протестированы мной - это разных видов S3 Trio/ViRGE, Cirrus Logic, Riva 128/128ZX и Voodoo, эти возможности, увы, не доступны. Кроме того, открываются они только при работе под Windows 9x/Me.

Итак, что же это за скрытые возможности Riva TNT, о которых идет речь? Главным образом, это возможность создавать новые видеорежимы с требуемыми разрешениями и глубиной цвета. Параметры видеорежимов могут задаваться практически любые: любое разрешение по горизонтали и вертикали, любые значения вертикальной развертки. Единственные накладываемые ограничения:

  • ширина и высота должны быть кратны 16;
  • для режима должно хватать видеопамяти;
  • частота вертикальной развертки должна быть в допустимых для монитора и видеокарты пределах;
  • желательно, но не обязательно, чтобы ширина и высота относились как 4:3; если это не так, то некоторые приложения могут работать некорректно, например, утилиты переключения видеорежимов.

Согласитесь, возможность создавать собственные видеорежимы выглядит весьма привлекательной, особенно, когда обладаешь монитором 15", на котором режим 1024x768 слишком миниатюрен, а 800x600 слишком громоздок. Найти компромисс между ними было бы очень неплохо. Когда полгода назад я случайно обнаружил в реестре Windows раздел DISPLAY, в котором была информация обо всех видеорежимах моей видеокарты, у меня тут же родилась мысль: а что, если добавить к стандартным режимам свой и таким образом найти этот самый компромисс? Я и не думал, что это сработает. Но это сработало, и в результате в Display Properties в закладке Settings появился мой первый нестандартный режим - 880x660, True Color (32 bit). На других видеокартах подобный эксперимент, увы, не увенчался успехом. У меня был древний Cirrus Logic 5446, который напрочь отказывался видеть какие бы то ни было нестандартные видеорежимы даже после перезагрузки. Точно так же вели себя S3 Trio и S3 ViRGE.

Если у вас Riva TNT/TNT2 или один из вариантов GeForce, то вы можете сами попробовать создать какой-нибудь нестандартный режим. Всю информацию о вашем видеоадаптере вы найдете в системном реестре Windows в разделе HKLM\System\CurrentContolSet\Services\Class\DISPLAY\xxxx\MODES\n. Здесь n - число бит, используемых видеорежимом, а xxxx - номер видеоадаптера в системе. Этот номер необязательно единственный в разделе DISPLAY. Их может быть несколько. Также совсем необязательно активный адаптер будет под номером 0000. Например, у меня активный адаптер имеет номер 0001, и есть еще два - 0000 и 0002. Это связано с тем, что Windows запоминает видеоадаптеры, которые хотя бы раз устанавливались в систему.

Раскрыв любой из подразделов MODES \ n, вы увидите набор ключей следующего вида.

640,480 800,600 1024,768 1152,864...

Они соответствуют режимам видеоадаптера. В переменных "по умолчанию" этих ключей значится список поддерживаемых частот вертикальной развертки. К примеру, для режима 640x480 в ней обычно записана строка "60,70,72,75,85,100,120". Если переменная "по умолчанию" содержит пустую строку, то вместо нее используется ModeRefreshRateList, которая имеет тот же формат. Кроме этого, в некоторых ключах вы можете заметить переменную "RefreshRate" (тип "строка"). Windows использует ее, чтобы хранить значение последней частоты, на которой работал соответствующий этому ключу видеорежим. Если "RefreshRate" отсутствует, используется частота по умолчанию.

Теперь у вас есть вся информация, чтобы создать свой видеорежим. Загружайте Registry Editor - и вперед! Если же лень копаться в реестре, можете попробовать скачать мою утилиту "TNT Desktop", которая позволит вам гораздо удобнее сделать то же самое. В ней есть возможность добавить набор новых режимов всего двумя щелчками мыши. Кроме этого, она умеет переключать режимы и менять частоту обновления экрана. Вы можете настроить ее так, чтобы она автоматически загружалась в системный трэй при старте Windows.

"TNT Desktop" можно скачать с моей странички по адресу vdoroshko.chat.ru/download/tntdesktop-2.0.zip. Я буду благодарен за любые замечания и предложения.

В заключение хотелось бы обратиться к владельцам видеокарт не от nVidia. Если у вас такая карта, но после редактирования реестра новые режимы все-таки появляются, прошу связаться со мной. Тогда я исправлю "TNT Desktop" так, чтобы он работал и на вашей видеокарте.

Виталий ДОРОШКО,
vdoroshko@chat.ru

Версия для печатиВерсия для печати

Номер: 

19 за 2001 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!