1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

[Обзор] Вперёд в п(р)ошлое. TNT - Explosive disclosure

Тема в разделе "Авторская колонка", создана пользователем Goblinit, 28 авг 2015.

  1. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Так и есть, это - репост моей же статьи с гиктаймс. Все права соблюдены.


    Изначально задумывалось как простенький дневниковый пост. В память об этом статья начинается именно так сумбурно

    Краем глаза

    [​IMG]

    Перед вами снова та самая легендарная Крива, убийца 3dfx (в лице ASUS V3800PRO). Данное утверждение показалось сомнительным, потому с неё и начнём.

    [​IMG]

    Поддерживает AGP4x, а вот Sideband'а кстати у неё нет. Ну вот теперь и заценим важно всё это или нет ;)
    ...На остальные фишки типа фичеконнектора и тв-тюнера давайте положим...

    Ближе к сердцу

    Карта построена на чипе RIVA TNT2 PRO. 1999 года рождения.

    [​IMG]

    Вообще TNT - это TwiN Texel. То был первый в истории десктопов !один! чип, способный накладывать две текстуры за такт. А вот это - уже TNT2.
    Данная карта (PRO) - это как бы изначально разогнанная версия стандартного TNT2 (к слову, в ассортименте была ещё ULTRA - это как бы изначально разогнанная версия PRO). Работает на 142/166 (чип/память).

    [​IMG]

    К слову, это та самая классная видеокарта, в которой приходилось выбирать между либо честной трилинейной фильтрацией, либо мультитекстурированием. Уже страшно...
    Однако что всё это значит на самом деле и как это посмотреть на практике? С этим вот и разберёмся.

    Реализация

    Встроенные дрова в winme !очень! старые, с ними даже quake3 не запустится, сообщив, что ваш opengl устарел или попросту отсутствует.
    Драйвера от асус для тнт2 никуда не годятся. Вы только посмотрите на обилие таких понятных и доступных каждому школьнику опций, как Расширение буферной области или же Режим трансон... трапсон... чёрт...

    [​IMG]

    ОМФГ, Бедные люди! А ведь есть ещё драйвера ForceWare аж от !2005! года с поддержкой аж D3D9. Deus Ex с ними замечательно артефачит. Теперь становится понятно, почему владельцы карт так изнемогали поменять её на вуду - кажется, нормальных дров за всю историю для карты никто так и не написал.

    А ещё есть известная утилита, написанная нашим соотечественником Unwinder'ом - RivaTuner.
    Надо сказать, достойное усовершенствование серии. Как пользоваться утилитой окончательно я понял только спустя, наверное, пару суток. И то, обилие вкладок и скрытых возможностей реестра до сих пор для меня осталось загадкой... Во всяком случае, главное я получил: возможность низкоуровневого разгона карты.

    Прикладной уровень

    [​IMG]

    ВНИМАНИЕ, Конфиг:

    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-медленно. Если кто интересуется, в чём разница.

    Nvidia позиционировала карту как мощный 32-битный конвеер. К слову, у конкурента за именем 3dfx был только 16-ти битный цвет и он пал в этой битве. Ослеп?

    Чтож, посмотрим на картинку в разных API, а заодно попробуем найти отличие между 16-битным и 32-битным цветом ;)
    Как обещал, дальше везде будут шоты с мониторингом и всеми делами, где это возможно; размеры оригинальные по клику (подписи слева внизу жёлтым - мои, признаюсь...)

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Ну что тут скажешь...

    • Во-первых, хочу заметить, что на самом деле в игре всё выглядит "несколько" ярче... Скриншоты эти честные и делаются средствами движка. Вот честно, это место было очень наглядным, правда, я старался :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 интересной нам опции вообще нет).

    [​IMG]

    Почитать про эти опции можно тут. Как видно, я форсировал прокачку текстур в видеопамять. Зачем? А чтобы быть уверенным, потому как в криве тнт2 всё ещё не использовался agp-texturing (DiME). Если верить слухам, AGP-aperture использовалась только как промежуточное хранилище перед отправкой текстур в локальную память. Это известная недоработка чипа и её запросто можно нагуглить.

    Ну вот, прекрасно, теперь можно начинать мерить потенцию:

    AGP2X

    [​IMG]

    Напомню: !!!FPS считается движком внизу шота!!!

    [​IMG]

    [​IMG]

    Кстати вот тут видно разницу между api. Посмотрите на отражение шара.

    AGP4X

    [​IMG]

    Заметьте, ни на один параметр скорость AGP не повлияла!! На практике:

    [​IMG]

    [​IMG]

    Ну ведь видно, что карта не выдаёт даже 35 кадров в agp2x и подъём до agp4x ничего вообще не меняет? Я очень не думаю, что не хватает серверного тулика 1.4Ghz, который, простите, вышел спустя три года. Памяти точно хватает. Соотношение FSB : DRAM - 1 : 1, и я уверен, жёсткий успевает.
    Думаю, чип просто давится и ничего тут не поделаешь. Маркетинг такой маркетинг.

    Трилинейка
    Вот тут самое интересное. Можно процитировать себя:

    Со, чудесный движок UE1 позволяет всё это проверить, не отходя от кассы. Но проверить можно только в D3Dx. В OGL мултитекстурирование через опции игры не настраивается.

    Что проверить? Ну... В TNT2 впервые была введена трилинейка. Но использовать её одновременно с мультитекстурированием чип не справлялся. А надо, ибо конкуренты! Поэтому она как бы была, но работала в двух вариантах: настоящая трилинейная фильтрация без мультитекстурирования, либо менее затратный mip-map dithering («аппроксимация», как его тогда неверно называли) и мультитекстурирование.

    Для начала попробую объяснить, что вообще такое трилинейка (может, не слишком удачно)...

    Трилинейка это развитие билинейки. Применяется только к 2D-объектам, которые находятся на расстоянии от игрока и близко друг к другу. Хорошим примером может служить, например, пол или стена, состоящие из однотипных плиточек, которые вплотную прилегают друг к другу. При отдалении от игрока плиточки должны уменьшаться (это кстати зовётся "мипмапинг"), что и происходит, но в результате уменьшения между плиточками становится заметен резкий переход, теряется однородность общей картины. Ну вот трилинейка и призвана исправить это. В общем и целом она усредняет крайние пиксели до общего значения цвета...

    Так. Это настоящая. А mip-map dithering что тогда делает?

    Объяснение mip-map dithering на примере вуду5:

    Ладно, давайте, я лучше шоты покажу... Значит, пойдём путём обзорщиков середины 90-х. Выставим 640x480. Теперь всем смотреть на сглаживание ламп на потолке в коридоре и сглаживание знака Radioactive слева от прохода!!!

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Вы тоже не видите разницы? На самом деле, она есть, просто вам нужно сейчас натянуть эти 640x480 на свой 20+ дюймов монитор и тогда справедливость восторжествует (сегодня в каждом броузере есть каретка). Понятно же, что на большом разрешении маленькие картинки все одинаковые...

    Если всё же кто натянул, тот заметил, что при включенном мультитекстурировании:
    • Падает общий уровень яркости в игре. Это известный баг движка.
    • Трилинейка с мультитекстурированием (mip-map dithering) на скринах выглядит немногим хуже билинейки. Но в игре разница будет тем заметнее, чем больше ваш монитор. Это факт.

    Вернёмся к 1280x1024.

    [​IMG]

    [​IMG]

    Ну вот тут лучше видно, как фонит mip-map dithering. Ужас, правда? Вот честно, если бы мне не сказали, я бы никогда не заметил. Моё мнение, прозвище "крива" чип получил незаслуженно. Он же не виноват, что вы играете в 640x480 в 1998 году, правда?

    И хотя выискивать огрехи mip-map dithering с лупой в 640x480 среди квадратиков мне кажется идиотизмом, всё же для тех особых случаев, которым чертовски необходимы шашечки, чтобы ехать, наш соотечественник Unwinder предлагает такое же особое решение:

    [​IMG]

    no more comments...

    Ну так вот, знаете...

    Очень достойно. 1280x1024x32bpp. 20-30fps в разогнанном состоянии. По мне, так если мышь начинает тупить в меню, а инвентарь в бою прорисовывается с задержкой в полсекунды, можно подождать. Нельзя было, например, на пентиуме 150 и 2D-видеокарте подождать своего хода в Героях3 по 5-7 минут, или, например, нельзя было подождать в Квейк 2 в коперативе, где ракеты появлялись уже потом, а задержка звука составляла около секунды. Так что 20-30 кадров - это уже вполне играбельно.

    Не нравится, не хотите гнать? Ну и играйте в 1024x768 и ниже. Или в 16-битном цвете.

    Но всё-таки, конечно, вуду3000 была быстрее, пусть и только с 22битами. Жаль 3dfx, но кое-что он всё-таки нам оставил...

    З.Ы.
    В процессе тестирования столкнулся с проблемой мониторинга. Недавно набросал кратко о том, как мониторить на Win9x/me. Всех понимающих и разделяющих (идею) приглашаю делиться опытом, ибо подобной инфы нигде вообще не нашёл (неудивительно).


    Благодарности
    • Открывателям горизонтов и срывателям покровов - комьюнити VOGONS. За кучу уникальных исследований и наработок!
    • Christian Ghisler'у низкий поклон за TC. Пользуюсь с детства. Сколько раз воспользовался синхронизацией папок за время написания не представляется конечным числом... Купил.
    • Администрации old-games.ru за возможность быстро и бесплатно скачать 20 игр скопом только ради того, чтобы заценить структуру файлов и однажды запустить. Простите за трафик ;)

    ...TBC...


    Сравнение графики в играх на разных видеочипах.

    Использованная литература
     
    Последнее редактирование: 6 сен 2015
    Колючий, TakedaSun, Thomas Wolfe и 10 другим нравится это.
  2.  
  3. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.248
    Нашёл первую игру, поддерживающую 1280x1024 как 5:4 - это Drakan: Order of the Flame. Я так понимаю, она и широкий формат держит без искажения пропорций.
     
  4. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    @BrainRipper, я вот не совсем понимаю, что означает "игра нативно поддерживает то или иное разрешение". Разве для игры это не просто набор точек по горизонтали и вертикали?
     
  5. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.248
    @Goblinit, в подавляющем большинстве старых игр жёстко зашито соотношение сторон 4:3, какое бы разрешение пользователь не выбрал бы. Если выбрано разрешение с соотношением сторон, отличным от 4:3, игра всё равно рендерит изображение в 4:3, и пиксели получаются в таком случае неквадратными.
     
  6. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    это всего то означает, что игра знает про такое разрешение и может отрисовать картинку в нём.

    :facepalm:
     
  7. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.248
    @Bato-San, очень аргументированно.
     
    Goblinit нравится это.
  8. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    @BrainRipper, аргументы в теме по мониторам. А ты дописывай фразы до логического конца, а то получается двусмысленная дичь.

    В данном случае до слова "пиксели" фраза совершенно верна, но вот дальше кой чего не хватает после "неквадратными"...
     
    Последнее редактирование: 11 сен 2015
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление