… Пока операционная снова пашет 4/5, откуда каждый день вылетают каркасы железяк и ошмётки микросхем маты и скриншоты в большом количестве, можно констатировать, что на сейчас уже имеется некоторый материал, который я и попытаюсь ниже скомпоновать в удобоваримом виде.
Начнём с того, что хотелось бы начать. С пояснения причин и целей данного поста. Пост как бы сообщает три очень важных момента:
Не доверяй, а проверяй!
Пока ты молод, нужно бить по наковальне!
Бери от железа всё (и не отдавай обратно)!
Теперь о целях.
Воистину, давайте для начала вспомним (без цитат и пруфов во имя спокойствия) какими были обзоры раннего hardware-3D на PC в конце 90-х начале 2000-х…
- Исчерпывающее внимание так горячо любимым разрешениям 800x600 и 1024x768. Вас не смущает, что измерять в 99 году какая из карт при всех задранных новомодных фичах покажет-таки 60 fps в разрешении 800х600 несколько странно? Ведь эти карты уже имели поддержку больших разрешений в 3D — вот, что нужно было тестировать!
- Подробнейший обзор «2D-составляющей» (не хватало только графиков осциллографа). Это ведь так важно, когда у тебя ЭЛТ-монитор!
- Как минимум охват всей теории, но никакой конкретики; Даже прогнозы на будущее!
- Куча красивых графиков из Йокселя с какими-то запредельными цифрами. Вам никогда не было интересно, что те циферки означали? Полагаю, сумму в долларах, не иначе.
… Сейчас вообще как: видяху вставил, дрова сами скачались, игру запустил, та сама пропатчилась, графику настроил, фрапс включил и жжёшь. Чего уж говорить, живых апи-то всего два осталось, да и то OGL в топ-играх всё реже встречается.А что было раньше? Было больше вендоров, больше api, а, значит, и производительность сравнивать было несколько проблематичнее, потому как много труднее и дольше. А мониторить так тогда вообще никто ничего и не думал. Вот честно, ну-ка покажите мне хоть один обзор тех лет, где идёт сравнение видеокарт по производительности и при этом предоставлены шоты какой-нибудь мощной игры (например, на движке unreal), где стоят результаты онлайн мониторинга хотя бы базово fps и загрузки цп?
С ноября 95 года. Не было. Ни единого обзора, содержащего такие шоты. Шок, инфаркт, дес :x
Тогда вообще вряд ли кто-нибудь всерьёз использовал даже FRAPS. А, значит, всё было на глаз (ну почти). - Ну и на сладкое конфиги, на которых всё тестилось, вы помните? Закрыв глаза на материнку (чипсет), хорошо, если хотя бы проц соответствовал запросам видяхи. А вообще-то нужно было ещё в фоне что-то мониторить (? свободные ресурсы?).
Ладно железо, да где вообще там можно было получить приемлемое сравнение двух карт разного вендора, если чаще всего обе карты сравнивались в… ну навскидку: 3DMark, Quake3, ещё_одна_массовая_игра_средней_требовательности.
О таких гигантах как Unreal или Hitman почему-то никто даже не вспоминал. А ведь это были топовые движки (которые ни одна современная карта не могла нормально вытянуть) с массой настроек, с поддержкой нескольких апи, с поддержкой человеческих разрешений (больше 1024х768).
И не говорите мне ничего про нашу экономику и ЭЛТ-мониторы 15 размера. У штатников в то время уже продавались если не LCD, то точно плоские ЭЛТ с поддержкой человеческих разрешений! Потенциал был и высокий. Вообще потенция, говорят, важный параметр. Вот её и померяем.
Ещё в марте месяце мне всё это окончательно не дало спокойно жить, потому что «как же так, я что опоздал на 15 лет???». Ну и я решил сдать на ваш непредосудительный анализ парочку обзоров, по чипу за каждый.
Но что же здесь?
А здесь не будет манипуляций с ПК: апгрейда памяти, разгона процессора и подобных телодвижений. Потому что собрал топ своего поколения — эту машину нет смысла разгонять и апгрейдить.
проц и мать самые неинтересные компоненты старого пк, до тех пор пока не захочешь чего-то необычного. какой смысл держать почти одинаковые компы? это же не произведения искусства, а безликие и бездушные коробки. раннее видео 3д и звук, вот это интересно. а процы и матери все одинаковые и скучные
А будет здесь лотс оф подробных остановок на каждой плате и её особенностях: будет мониторинг, сравнение в разных апи, с разными твиками и разгоном. Анализ входных данных, моделирование дискретной случайной величины двадцати шестью итерациями, вычисление дисперсии, построение графика интегральной функции, точно описывающей полученную картину, субъективная и аналитическая оценки. В общем совершенно топорный подход, которым почему-то всегда пренебрегали обзорщики.
ВНИМАНИЕ, Конфиг:
MB: Gigabyte 6vtxe (Apollo Pro133T chipset)
CPU: Pentium 3-S 1.4Ghz/512Kb/133FSB
RAM: 3x256Mb PC133
HDD: healthy UDMA-5 WD с приличным кэшем 2Мб и 5400RPM
WinME
Video: <awaiting insertion...>
Почему WinME. Так ведь флешки сразу работают, не синеет от 768Мб памяти… Мало? А вот за что ещё я полюбил WinME:
- Авторефреш отсутствует практически везде;
- Полная нестабильность ОС. Завис полноэкранный процесс, хрен завершишь;
- Но из синего экрана по традиции можно выйти, нажав Anykey.
- Ось консерватора. В интернеты нормально уже не выйти: последний даже сторонний броузер не то, что html5, javascript-то с трудом поймёт. Зато загружается как семёрка на SSD. В общем, ось создана для продуктивной работы.
- Самый сложный квест — вовсе не дрова. Попробуйте-ка найти рабочее ПО для мониторинга в 3D. Есть вот эверест — в фоне работает. Но вывести в 3D чем? Да, пришлось изучить вопрос месяц-другой. Самое классное было когда я впервые что-то пробовал ставить:
- поставилось приложение. Запускаю. Обновите, пожалуйста, винду до более новой версии!
Потом уже осторожнее выбирал. И то, в D3D мониторинг так толком и не заработал...
Теперь. Напоиграться я выбрал игру Deus Ex. Причин тому несколько.
Во-первых, непройденная игра детства, недоступная по системным требованиям. Играл у брата с перерывами по месяцу. Очень смутные воспоминания о недосыпе в результате задержки на «ещё 5 минуточек» до 2 ам. Настолько смутные, что в процессе недавнего прохождения оказалось, что мне удалось тогда пройти довольно-таки далеко… Уже давно хотелось пройти Deus Ex без тормозов на максималке (!!! да так, чтоб масштабы детализации потрясли!!!) — чем не повод?
Во-вторых, серьёзно. Игра на движке Unreal Engine 1. Мощщщь, которую предложило в 1998 году это двигло:
- поддержка абсолютного большинства 3d-фич вроде трилинейки, анизотропки, мультитекса и всяких лайтнингов;
- поддержка 16-канального звука, наложения эффектов и позиционирования звука. Поддержка аппаратной обработки звука (да, такое тоже когда-то было актуально ;))
- поддержка 5-ти 3d-renering api!!! Вам не показалось: кроме DirectX существовало ещё как минимум 4;
- Владельцам карт 2d-only (это которые без аппаратного 3D-ускорения): вас ждёт полноценный software-renderer!!! :yes:
- всё вышесказанное нужно было как-то туда впихнуть и сделать так, чтоб всё работало :whistling:
- из всего выше следует ниже: движок успешно продавался и внедрялся.
Краем глаза
Перед вами снова та самая легендарная Крива, убийца 3dfx (в лице ASUS V3800PRO). Данное утверждение показалось сомнительным, потому с неё и начнём.
Поддерживает AGP4x, а вот Sideband'а кстати у неё нет. Ну вот теперь и заценим важно всё это или нет ;)
… На остальные фишки типа фичеконнектора и тв-тюнера давайте положим…
Ближе к сердцу
Карта построена на чипе RIVA TNT2 PRO. 1999 года рождения.
Вообще TNT — это TwiN Texel. То был первый в истории десктопов ! один! чип, способный накладывать две текстуры за такт. А вот это — уже TNT2.
Данная карта (PRO) — это как бы изначально разогнанная версия стандартного TNT2 (к слову, в ассортименте была ещё ULTRA — это как бы изначально разогнанная версия PRO). Работает на 142/166 (чип/память).
К слову, это та самая классная видеокарта, в которой приходилось выбирать между либо честной трилинейной фильтрацией, либо мультитекстурированием. Уже страшно…
Однако что всё это значит на самом деле и как это посмотреть на практике? С этим вот и разберёмся.
Реализация
Встроенные дрова в winme! очень! старые, с ними даже quake3 не запустится, сообщив, что ваш opengl устарел или попросту отсутствует.
Драйвера от асус для тнт2 никуда не годятся. Вы только посмотрите на обилие таких понятных и доступных каждому школьнику опций, как Расширение буферной области или же Режим трансон… трапсон… чёрт…
ОМФГ, Бедные люди! А ведь есть ещё драйвера ForceWare аж от !2005! года с поддержкой аж D3D9. Deus EX с ними замечательно артефачит. Теперь становится понятно, почему владельцы карт так изнемогали поменять её на вуду — кажется, нормальных дров за всю историю для карты никто так и не написал.
А ещё есть известная утилита, написанная нашим соотечественником Unwinder'ом — RivaTuner.
I have only two words for the developers to say: user interface!!!
Надо сказать, достойное усовершенствование серии. Как пользоваться утилитой окончательно я понял только спустя, наверное, пару суток. И то, обилие вкладок и скрытых возможностей реестра до сих пор для меня осталось загадкой… Во всяком случае, главное я получил: возможность низкоуровневого разгона карты.
Прикладной уровень
ВНИМАНИЕ, Конфиг:
MB: Gigabyte 6vtxe (Apollo Pro133T chipset)
CPU: Pentium 3-S 1.4Ghz/512Kb/133FSB
RAM: 3x256Mb PC133
HDD: healthy UDMA-5 WD с приличным кэшем 2Мб и 5400RPM
WinME
Video: Riva TNT2 PRO
ВАЖНО:
Все настройки графики в игре — на максимум!!! Это значит примерно следующее: если что-то красивое и/или полезное можно включить, мы это включаем.
Карту сразу же разгоняем со штатных 142/166 почти до уровня Ultra (180/210). А Почему бы и нет? На деле разгон даст кадров 5-7. Чтож, тоже неплохо. Выше гнать не пробовал, уверен: начнёте собирать артефакты.
Разрешение в игре для этой карты подобрал 1280x1024. Всё, что ниже, меня просто не интересует (не интересовало на момент написания абзаца). Всё, что выше, — это уже не её планка. Итак показывает меньше 30 кадров почти везде.
Значит, поехали по технологиям.
API и цветастость
Карта стандартно умеет Direct3D и OpenGL.
Также позвольте напомнить, что в то время в каждой второй игре потихоньку внедрялся и предлагался 32-битный цвет. Так что появлялся выбор между 16-быстро и 32-медленно.
Кто не понел: 16-битную картинку можно закодировать как RGB565 (красный, зелёный, жёлтый), а можно как ARGB1555. A — это альфа-канал. Нужен он для обозначения прозрачности текстуры. На том оставлю вас размышлять над предназначением остальных вариантов.
По сути видно следующее: мало того, что цветовой спектр «тысячи цветов» (он же Хайколор, он же 16бит) явно не покрывает человеческий (2^5 x 2^6 x 2^5 = 65536 значений цвета), но ещё и приходилось выбирать, какому из каналов отдавать предпочтение по ситуации.
Обе проблемы решил Труколор (32бит). Там всё почти как у Маркса: всем по потребности, всем по возможности. Кстати вообще-то цвет 24битный, 8 бит под прозрачность ведь.
Оборотная сторона медали угадаете какая? Правильно, размер. Такие текстуры (если говорить об игре) будут весить больше до двух раз. Только не стоит думать, что в играх, где был выбор между 16- и 32-х битными текстурами, хранились оба вида. Конечно же, 32бита просто конвертировались.
Кстати о играх. Шоты сделаны непрофессионально, но смотреть на воду и небо.
А вот вам бонусом последствия неверного кодирования альфа-канала: нет многих прозрачных деталей, например, hud наверху, смягчение тени машины.
… Ладно, стадо разбежится…
Nvidia позиционировала карту как мощный 32-битный конвеер. К слову, у конкурента за именем 3dfx был только 16-ти битный цвет и он пал в этой битве. Ослеп?
Чтож, посмотрим на картинку в разных API, а заодно попробуем найти отличие между 16-битным и 32-битным цветом ;)
Как обещал, дальше везде будут шоты с мониторингом и всеми делами, где это возможно; размеры оригинальные (подписи слева внизу жёлтым — мои, признаюсь...)
Ну что тут скажешь…
- Во-первых, хочу заметить, что на самом деле в игре всё выглядит "несколько" ярче… Скриншоты эти честные и делаются средствами движка. Вот честно, это место было очень наглядным, правда, я старался :D
Вообще с яркостью в игре большие проблемы. Вот то, что вы видите, это яркость выкручена на 100% По дефолту стоит 50% Понимаете? Я слышал про фикс, но вот ставить его как-то было уже поздно. Да и атмосферность хорошая… В конце концов, кому нахрен сдались эти скриншоты? И тааак сойдёт… Ладно, не расстраивайтесь, будут и ещё скриншоты. - Во-вторых, можно заметить разницу между 16 и 32bpp в Direct3D: если вы вернётесь к шотам, увидите страшную рябь в центре у d3d_16bpp. Такое вот качество рендеринга у TNT2. У других карт такого обычно нет.
В OGL разницы в цвете нет вообще. Это говорит о том, что игра жульничает и всегда отдаёт текстуры в каком-то фиксированном формате. В каком именно неинтересно. Интересно, что настройка битности цвета не играет роли в OGL.
Вообще же, если скачаете на комп и выкрутите в фотожопе яркость, увидите разницу в api. Она есть и в цвете и в прорисовке, но довольно незначительная. Так что вряд ли 3dfx тогда ослеп… вот уж не думаю. - В-третьих, мониторинг (справа сверху жёлтым) вы увидели только в OGL. Почему? Да потому что в те далёкие только неизвестные мне программы умели мониторить в D3Dx, который используется в Unreal Engine 1.
Плюс к тому проц в WinME всегда загружен на 100%. Видимо, это его кредо (проца). Достаточно войти в винду и нажать ПУСК!
Памяти видно что за глаза. В общем видно, что дальнейший мониторинг бессмысленен, ну а кадры нам и сам Unreal Engine посчитать может (внизу под инвентарём белым по центру)
AGP
Как уже было сказано где-то там выше, карта умеет AGP4x. В то время это было новаторство. Даёт ли это что-нибудь? Мы это сейчас обязательно выясним, но для начала я особо «сведующим» приведу настройки Unreal engine-на для D3D (для OGL интересной нам опции вообще нет).
Как видно, я включил DiME. Так вот, эта опция в нашем случае ни на что не повлияет. В криве тнт2 всё ещё не использовался agp-texturing. Если верить слухам, AGP-aperture использовалась только как промежуточное хранилище перед отправкой текстур в локальную память. Это известная недоработка чипа и её запросто можно нагуглить.
Ну вот, прекрасно, теперь можно начинать мерить потенцию:
AGP2X
Напомню: !!!FPS считается движком внизу шота!!!
Кстати вот тут видно разницу между api. Посмотрите на отражение шара.
AGP4X
Заметьте, ни на один параметр скорость AGP не повлияла!!! На практике:
Ну ведь видно, что карта не выдаёт даже 35 кадров в agp2x, а подъём до agp4x ничего вообще не меняет? Я очень не думаю, что не хватает серверного тулика 1.4Ghz, который, простите, вышел спустя три года. Памяти точно хватает. Соотношение FSB: DRAM — 1: 1, и я уверен, жёсткий успевает.
Думаю, чип просто давится и ничего тут не поделаешь. Маркетинг такой маркетинг.
Трилинейка.
Вот тут самое интересное. Можно процитировать себя.
К слову, это та самая классная видеокарта, в которой приходилось выбирать между либо честной трилинейной фильтрацией, либо мультитекстурированием. Уже страшно...
Со, чудесный движок UE1 позволяет всё это проверить не отходя от кассы. Но проверить можно только в D3Dx. В OGL мултитекстурирование через опции игры не настраивается.
Что проверить? Ну… В TNT2 впервые была введена трилинейка. Но использовать её одновременно с мультитекстурированием чип не справлялся. А надо, ибо конкуренты! Поэтому она как бы была, но работала в двух вариантах: настоящая трилинейная фильтрация без мультитекстурирования, либо аппроксимация (что проще) и мультитекстурирование.
Для начала попробую объяснить, что вообще такое трилинейка (может, не слишком удачно)…
Трилинейка это развитие билинейки. Применяется только к 2D-объектам, которые находятся на расстоянии от игрока и близко друг к другу. Хорошим примером может служить, например, пол или стена, состоящие из однотипных плиточек, которые вплотную прилегают друг к другу. При отдалении от игрока плиточки должны уменьшаться (это кстати зовётся «мипмапинг»), что и происходит, но в результате уменьшения между плиточками становится заметен резкий переход, теряется однородность общей картины. Ну вот трилинейка и призвана исправить это. В общем и целом она усредняет крайние пиксели до общего значения цвета...
Так. Это настоящая. А аппроксимация что тогда делает?… Давайте, я лучше шоты покажу.
Значит, пойдём путём обзорщиков середины 90-х. Выставим 640x480. Теперь всем смотреть на сглаживание ламп на потолке в коридоре и сглаживание знака Radioactive слева от прохода!!!
Вы тоже не видите разницы? На самом деле, она есть, просто вам нужно сейчас натянуть эти 640x480 на свой 20+ дюймов монитор и тогда справедливость восторжествует (сегодня в каждом броузере есть каретка). Понятно же, что на большом разрешении маленькие картинки все одинаковые…
Если всё же кто натянул, тот заметил, что при включенном мультитекстурировании:
- Падает общий уровень яркости в игре. Это известный баг движка.
- Трилинейка с мультитекстурированием на скринах выглядит немногим хуже билинейки. Но в игре разница будет тем заметнее, чем больше ваш монитор. Это факт.
Вернёмся к 1280x1024.
Ну вот тут лучше видно, как фонит аппроксимация. Ужас, правда? Вот честно, если бы мне не сказали, я бы никогда не заметил. Моё мнение, прозвище «крива» чип получил незаслуженно. Он же не виноват, что вы играете в 640x480 в 1998 году, правда?
И хотя выискивать огрехи аппроксимации с лупой в 640x480 среди квадратиков мне кажется идиотизмом, всё же для тех особых случаев, которым чертовски необходимы шашечки чтобы ехать, наш соотечественник Unwinder предлагает такое же особое решение:
no more comments…
Ну так вот, знаете...
Очень достойно. 1280x1024x32bpp. 20-30fps в разогнанном состоянии. По мне, так если мышь начинает тупить в меню, а инвентарь в бою прорисовывается с задержкой в полсекунды, можно подождать. Нельзя было, например, на пентиуме 150 и 2D-видеокарте подождать своего хода в Героях3 по 5-7 минут, или, например, нельзя было подождать в Квейк 2 в коперативе, где ракеты появлялись уже потом, а задержка звука составляла около секунды. Так что 20-30 кадров — это уже вполне играбельно.
Не нравится, не хотите гнать? Ну и играйте в 1024x768 и ниже. Или в 16-битном цвете.
Но всё-таки, конечно, вуду3000 была быстрее, пусть и только с 22битами. Жаль 3dfx, но кое-что он всё-таки нам оставил…
...TBC...
- В таких делах начинается всё, как правило, всегда с вики.
- Затем всегда следует ixbt...
- И hwp.
- А на сладкое… на сладенькое — gamegpu и vogonswiki.
Благодарности:
- Открывателям горизонтов и срывателям покровов — комьюнити VOGONS. За кучу уникальных исследований и наработок!
- Christian Ghisler'у низкий поклон за TC. Пользуюсь с детства. Сколько раз воспользовался синхронизацией папок за время написания не представляется конечным числом… Купил.
- Администрации old-games.ru за возможность быстро и бесплатно скачать 20 игр скопом только ради того, чтобы заценить структуру файлов и однажды запустить. Простите за трафик ;)
З.Ы.
В процессе тестирования столкнулся с проблемой мониторинга. На форуме, откуда родом сам, недавно набросал кратко о том, как мониторить на Win9x/me. Всех понимающих и разделяющих (идею) приглашаю делиться опытом, ибо подобной инфы нигде вообще не нашёл (неудивительно).
Автор: Goblinit