Вышла очередная попытка написать программку для проверки видеопамяти.
TestVideoRAM работает на картах от nVidia - TnT, TnT2,GeForce, GeForce2, GeForce3.
Для зарегестрированных(узнанных) видеокарт автоматически устанавливается
максимально-возможная частота видеопамяти, для GeForce*** возможна установка таймингов этой памяти.
Внешний вид.

Наблюдения.
Включение кеширования в BIOS'е весьма значительно повышает скорость доступа по
записи к видеопамяти. К примеру, без кеширования скорость записи составляет 43Mb/sec,
а с включением кеширования она возрастает до 200Mb/sec. На скорость чтения кеширование
записи не оказывает влияния.
То, что я переключаюсь в "кеширование, оптимальное для чтения" -
это вынужденная мера, иначе скорость теста будет еще в 2 раза медленнее!
По выходу этот 'кривой' режим убирается, иначе возможны странности в работе.
Подробнее о BIOS ...
В BIOS есть опция Video Memory Cache Mode и 2 режима:
UC - не кешировать
USWC - кеширование по записи. Это тот самый режим, что я и рекомендую ставить.
Аппаратура.
- CPU: PIII, Athlon
- VGA: TnT, TnT2, GeForce DDR, GeForce3
- benchmark read-optimized: (GeForce)
для PIII read = 13Mb/sec; write = 14Mb/sec
для K7 read = 7Mb/sec; write = 63Mb/sec
- benchmark write-optimized:
read = 7Mb/sec; write = 200Mb/sec
5. GeForce2 MX400/200/100
После версии 0.3 прошло много времени, а она делалась во время
распространения GeForce1, и .... появилось новые типы VGA
от NVidia - это и GeForce2 GTS и GeForce3 и 'обрезки'.
Если с первыми все ясно, то с последним .....
GeForce2 MX : 1.2.0 {MX400}(200/166)
1600*1200 32-Bit: 56.4 / 59.9 / 30.5 / 30.2 fps
GeForce2 MX : 1.2.0 {MX200}(175/166)
1600*1200 32-Bit: 31.9 / 34.3 / 19.0 / 31.2 fps
GeForce2 MX : 1.2.0 {MX200}(175/166)
1600*1200 32-Bit: 29.6 / 30.0 / 15.7 / 27.3 fps
GeForce2 MX : 1.2.0 {MX200}(175/143)
1600*1200 32-Bit: 19.5 / 20.5 / 12.5 / 19.8 fps
RIVA TNT2 : 1.2.0 {140/150}
1600*1200 32-Bit: 14.8 / 15.5 / 10.4 / 15.2 fps
Я умышленно не привожу сам тест - это очень простенький OGL
benchmark и его главное достоинство в том, что он нагружает
именно память видеокарты .... что и делают все игры на
сегодняшний момент. Спасибо автору,
очень приятная программа! :)
Если ВЫ думаете, что приведенные цифры весьма удовлетворительны,
то ... это заблуждение. В реальных играх выводится не 1 слой
изображения, а много - много больше. Подробнее можно почитать
на реакторе.
И ..... если запустить этот-же режим для нормального (на этот момент)
3D-ускорителя - GeForce3:
GeForce3/AGP : 1.3.0 (200/460)
1600*1200 32-Bit: 309.8 / 325.3 / 193.5 / 229.4 fps
если эти цифры не впечатлили, приведу данные на 'разогнанную' VGA:
GeForce3/AGP : 1.3.0 (250/600)
1600*1200 32-Bit: 420.8 / 443.4 / 262.2 / 256.4 fps
Да, можно понизить разрешение с 1600 на .... ну скажем, 800 ...
Нет, не буду развивать эту тему, просто не интересно!
..... приведу только одну цифру:
Для UnrealTournament замена видеокарты с GeForceDDR на MX400,
с разогоном 'по-максимому' вызвало падение минимальных FPS
с 30 до 20. Интересно, кто сможет попасть в цель с таким FPS?
:)
Прошу учесть, что UnrealTournament характеризуется тем, что он очень
слабо зависит от видеокарты .... если она не полное Г.
К слову сказать, на работе как-то раз решили поиграть по сетке,
а видеокарты ..... все опломбировано, пришлось на том, что есть.
У меня стояла Vanta и на ней было среднее FPS порядка 40-а
(512*380*16) и ...... я не смог играть, пришлось перейти в
soft.rendering! Да, в программном режиме средний FPS стал
25, но он и не падал и не ускорялся!!!!
Это я к "качеству" программного обеспечения NVidia. С Voodoo
никогда такого я не наблюдал ..... при выборе 3Dfx vs NVidia
- лучшеб, еслиб сдохла NVidia!!!! ..... очень жалко и обидно.
Ладно, вернемся к нашим баранам.
При хорошей аппаратуре, у NVidia дерьмовейшие драйверы. Попытка
получения максимума FPS 'всеми средствами' - вот стратегия
NVidia .... и мы имеем отличнейшие benchmark'и .... но я не в
benchmark играю и мне откровенно плевать на 'средний' FPS.
Я не рекомендую установку ее видеокарт на компьютеры с слабым
процессором и малым количеством памяти. То, что VGA сама что-то
расчитывает и выводит - миф .... процессор весьма и весьма
нагружается. Впрочем, этим и об'ясняется тот факт, что минимальные
FPS так сильно отличаются от средних. Опять же уточню - это
ОСОБЕННО заметно на NVidia.
О различных benchmark'ах...
Накрученные, типа 3Dmark2***, давно уже не являются таковыми.
Разброс показаний и явная несоразмерность показателей не позволяют
использовать его для сравнения производительности видеокарт, только
для проверки функционирования. Ребята увлеклись красивостью и
упустили главное - в тесте на производительность ВИДЕОКАРТЫ надо
измерять скорость этой самой ВИДЕОКАРТЫ ..... а не процессора.
Идеальный benchmark дает один и тот-же результат что на Duron-800,
что на Athlon-1400.
Resume: мерить скорость можно только на той игре, в которую играешь
.... и именно сейчас!!
О FPS...
Есть 3 понятия:
- минимальный FPS
- средний FPS
- максимальный FPS
Первый из них - самый важный, он и определяет играбельность.
Ну в самом деле, кого интересует FPS в тот момент, когда стоиш у стены
и .... ничего не происходит? :)
Да, хорошо когда средний FPS высок, он определят 'плавность' игры,
это приятно ..... но он не определят играбельность (если предельно
утрировать: играбельность - это как скоро устанут глаза).
Ну а максимальный FPS - абсолютно вредный параметр. Чем сильнее
отличается максимальный FPS от среднего - тем хуже!
Может это звучит и парадоксально, но сей феномен зависит от особенности
функционирования 3D-игр и в частности - синхронизации изображения
с вводом от клавиатуры и мыши. Иногда даже приходится включать VSync,
иначе программы просто 'падают'. Классический пример - Реквием.
Если у Вас Nvidia и вЫключен VSync, то при попытке взять висящее
оружие с 100% вероятностью игра повисьнет ..... вычислил это
далеко не сразу и измотал кучу нервов!!
Для 3Dfx этого нет, впрочем ..... и не должно же быть. :)
Resume: чем больше различаются эти 3 понятия, тем ХУЖЕ и не важно
сколько 'средний'.
Если грубо, то для Voodoo3 этот коэ-т = 1.5, а TnT*/GeForce = 2.
Например, для Voodoo3 мин=20, ср=30, макс=45
для GeForce1 мин=19, ср=35, макс=60
Для приведенного случая - на Voodoo играть значительно приятнее!
Подведу итог вышесказанного: GeForece2 MX2/ MX400 не является
3D-ускорителем и его выпуск был явной 'ошибкой' Nvidia.
Точнее сказать - не "ошибкой", а явной .... как бы сказать
попроще .... явной "подставой". Нас вульгарно хотят обмануть.
Просто какая-то детская попытка вернуть время на 2 года назад,
когда было полторы текстуры и 20 FPS всех устраивало.
Покупка этой карты _сейчас_ - зря выброшенные деньги и ....
наверно кому-нибудь это важно, испорченные глаза.
Предвижу вопрос - а что брать, если денег нет?
Сейчас легко купить б/у GeForce1 DDR или GeForce2 GTS по
цене даже меньшей, чем MX400. Я сам недавно избавлялся от своей
фирменной GeForce_DDR - с большим трудом сдал по цене,
меньшей MX200. Было противно - народ гонится за GeForce 2
и вовсе не замечает приставки MX. Не хотите брать Б/У? ... и
денег нет? Что там говорилось о скупом, платящем дважды?
Копите деньги, MX - это не карта!! Прошу понять главное - какой
смысл покупать новую видеокарту, чтоб получить 40 fps в любимой
игрушке? .... а выйдет DOOM3/Unreal2/еще_чего и просто выкинуть
эту карту? Это сейчас 40, через пол-года будет 20.
На этот случай очень к месту старая шутка про вЫндовс:
- а сколько места на диске занимает Windows?
- сколько находит, столько и занимает.
Чем мощнее современные карты, тем ленивей программисты и вместо
оптимизации - просто 'чтоб работало'. Вспоминается оптимизация работы
процессора и сопроцессора в Quake2 .... да, очень постарался
господин Кармак - так эффект был 'на лицо'! Ну а сейчас, процессоры
мощнее, видеокарты то-же - ждать, чтоб кто-то еще повторил подвиг
Quake2 по оптимизации? ..... и Вы в это верите?!?!
Кстати, по поводу того-же UnrealTournament - на его ядре сделана
игра стиля Action - Deus Ex и .... я уж не знаю как и что там понаписано, но если
в UT скорость весьма достойная (50-100fps), то в Deus Ex
мне не удалось добиться ... не то, что комфортного - даже сностного
режима.
По поводу MX200 и 100 ничего не буду говорить - это обычная
паршивая 2D карта. Почему 'паршивая'? .... у нее омерзительное
качество RAMDAC! Кстати, еще одна -очередная- 'подстава' от NVidia!
Я не знаю, как NVidia умудряется намерить 350 MHz RAMDAC, если на
фирменной и качественно сделанной GeForce DDR изображение поганее,
чем на стареньком Matrox Mill 2 с 220MHz RAMDAC.
Вообще говоря .... за такие вещи или в морду б'ют или сажают!
При установке разрешения выше 800*600*100Hz уже идет 'расфокусирование'.
Пройдет небольшое время и ВЫ неизбежно купите новый монитор и .....
выкинете свою VGA. Спрашивается, так зачем ВЫ зря выкинули свои деньги?
К примеру, у меня на работе стоит тот-же Matrox Mill II и вполне меня
устраивает. Эта карта сейчас стоит порядка 10$ ......
Итог: MX200/100 не могу рекорендовать даже для неигровых применений,
а про игры ...........
Не удивляйтесь, что TestVram не определяет MX'ы - это сделано
специально (см. выше) и я буду последней дрянью(читай - NVidia),
если посчитаю их 3D-ускорителями.
6. GeForce3
Удивительно, но GeForce3 - это действительно другой chip!
До сих пор существовало 2 chip'а - TnT и GeForce.
Зачем NVidia выпустила новый chip с старым названием?
В-общем, при попытке зарегестрировать GeForce3 получил страшные
проблемы, к слову сказать - никаких особых проблем с GeForce2
разных семейств не наблюдалось. Увы, но далеко не я один
наступил на эти грабли.
Короче говоря, пришлось править программу методом заплаток и
при невозможности погонять на всем разнообразии карт возможны
'казусы'. Вероятность мала .... но если что - не удивляйтесь.
Для GeForce3 шаг частоты увеличен до +28/-14MHz.
.... если и дальше так пойдет, то с программой придется завязывать -
NVidia понравилось выпускать chip'ы с неполной совместимостью.
Обратите внимание - для GeForce3 на самом первом проходе оставляется
та частота, что была установлена в BIOS'е, а на втором проходе устанавливается
стандартная частота в 460MHz. Это сделано потому, что часть производителей
ставят 'мягкую' частоту для видеопамяти. При запуске драйверов в Windows
через API V-BIOS/Windows происходит 'просыпание' видеокарты.
Из этого факта следует, что весьма и весьма вероятны проблемы именно
GeForce3 с не-Windows операционными системами. Интересно здесь то,
что посчитанная по прежней ф-ле частота (из коэф-тов m,n,k) будет
давать правильный результат, но реальная скорость памяти .... далеко не так.
Короче говоря, я сомневаюсь в правильности прежней формулы.
Тест памяти для GeForce3 работает несколько хуже и чтоб хоть как-то улучшить
я добавил стадию прогрева памяти. Да, его эффективность не так уж и велика ....
но что Вам подождать 1-2 минуты? .... это же не поток и ради любимой игрушки
можно подождать немножко? :)
Забыл добавить - информации о конфигурации памяти в GeForce3 у меня нет ни
малейшей информации, а этот регистр изменен, так что .... очень жаль,
но ничего сказть не могу и эта информационная строчка убрана из программы.
7. Remark
NVidia во второй раз выкинула на рынок кучу падали (MX'ы) и этим
сразу-же воспользовались 'наши китайские друзья'.
Первый раз это произошло с TnT2***, это уже вторая 'волна'.
У меня тогда была фирменная TnT1 и .... посмотрев на тот развал
дерьма, что наплодили китайцы с подачи NVidia .... так и сидел
на TnT1 до GeForce1. История повторяется - NVidia выпускает
новый chip, проходит немного времени и появляется его несколько
разогнанный вариант (обычный прирост производительности 25%),
а сразу за ним вываливается .... даже не знаю, как это назвать.
Я не буду повторять тот бред, что говорила IXBT по поводу remark'ов,
лучше я расскажу то, что видел сам своими глазами......
Дело было так - ко мне обратился один человек, который завозит
в Москву ... ммм ... 'немаленькие' оптовые партии видеокарт NVidia
с предложением написать программу-детектор. Он дал мне мешок
видеокарт TnT2*, GeForce2 MX*** разных типов.
Причем, это был действительно полный пакет .... пока таскал - чуть
ручка не оборвалась .... :)
(прошу не приставать по поводу программы - она не freeware и уже не моя)
Обнаруженные FAKE:
TnT2:
Vanta - ставят Vanta LT и занижают clock.
M64 - периодически ставят Vanta и занижают clock.
TnT2(pro) - режут память до 64 бит - получается как M64.
Это очень-очень часто, особенно на 32Mb версиях.
GeForce:
GeForce1/2 - ставят SDRAM вместо DDR и режут память до 64 бит.
Просто морду хочется бить!
GeForce2 MX - вместо 200 пишут 400 или вместо 400'го chip'а ставят
старый MX.
Это происходит настолько часто, что просто руки опускаются!
Посмотрите приведенные выше benchmark'и - этим и об' ясняется
такое 'странное' поведение FPS.
Еще - часто завышают емкость памяти в 2 раза.
И, что интересно, некоторые игры с малым кол-вом текстур, будут играть
нормально, а ..... и вот тогда 'привет'!
К примеру - Quake2 будет "на ура!".
Программа показывает всю необходимую информацию - читайте сами. :)
К сожелению, никакой новой информации о видеокарте добавить не могу,
это все делает другая программа .... а она уже 'не моя'.
Рекламировать и давать ссылок НЕ БУДУ.
Конкретно, приведу один особенно выдающийся 'перл' из последней партии:
Название карты: какой-то бред типа Geforce2 MX400/MX200
Определяется драйверами как GeForce DDR
Реально есть: GeForce256 с 64-х битной шиной, что ДАЖЕ значительно хуже,
чем MX200!!! (даже не верится в такое)
Интересно, как сей 'перл' будут продавать в Москве? .... наверно,
как всегда - отправят на периферию.
Еще из обнаруженного:
Очень и очень часто занижается ширина шины в 2 раза.
Причем, когда тот человек давал мне видеокарты, он разделил
их на точно хорошие и 'подозрительные' ..... и весьма значительный
процент карт с урезанной шиной был и на 'хороших' картах.
К сожелению, выяснить визуально это невозможно - могут поставить
как 128 бит 1 банк, так и 64 бита 2 банка. :(
p.s.
И немного о особенно противном .....
Предполагаю, что в самом ближайшем будущем до половины всех продаваемых
видеокарт MX*** будет собрано на основе chip'а GeForce2-MX100,
т.е. еще в 2 раза медленее.
Увы, это не чисто "теоретические" выкладки. Короче - я снимаю поддержку этих 2D карт.
(прошу не писать, MX not support "forever")
8. Тайминги
Для TnT1,2 выводятся тайминги памяти, для GeForce - их еще и можно менять.
Для этого в командной строке в произвольном порядке надо написать
нужную букву и десятичное число от 0 до 31. Порядок и очередность не важны.
Например: testvram b3 a4 s2
Эти установки ставятся только на время тестирования и по выходу восстанавливаются.
a) RAS to CAS delay
b) **undefined** (CAS)
c) RAS precharge time
d) refresh RAS cycles
e) RAS active time
f) RAS cycle time
g) RAS to RAS delay
h) write to precharge
i) write to read delay
j) ** undefined **
k) read to precharge
l) read to write delay
m) **** refresh ****
Наибольший интерес предтавляют две первые строчки:
a) RAS to CAS delay - время от подачи адреса до сигнала
записи и
b) **undefined** (CAS) - время от выдачи полного адреса до
начала считывания данных из SDRAM.
Эти настройки самые 'чуствительные', остальные влияют слабо.
Вторая строка описана так странно "**undefined** (CAS)" потому, что до
GeForce3 этот параметр игнорировался и был равен нулю, а на GeForce3 ....
нет никакой достоверной информации.
И еще .... далеко не всегда надо увеличивать числа ... да и взаимосвязь
параметров явно прослеживается.
9. Что, где, ...???
Если Вы хотите сгрузить TestVideoRAM , всегда пожалуйста,
но, я попросил бы Вас вначале прочитать этот документ. Поверьте, он очень
Вам поможет!
Да, забыл сказать! ....
Я не видел где-либо, что кому-нибудь удалолсь подделать семейство
chip'ов - например, GeForce2 MX в GeForce2 GTS.
Я не верю в эту возможность!
Но .... если кто-нибудь такое видел - свяжитесь со мной, интересно же.
:)
Интереcесует именно подделка PCIid, ROMid - это для ламмеров с hiew'ом.