.::Counter Strike 1.6 portal::.
Пятница, 12.03.2010, 16:49 Приветствую Вас Гость

Меню сайта
Наш опрос
Как играешь?
Всего ответов: 74
Мини-чат
Страница 1 из 11
Форум » Игры » NFS » История (нетак давно)
История
KennyДата: Четверг, 05.06.2008, 20:16 | Сообщение # 1
Лейтенант
Группа: Новая группа
Сообщений: 73
За 50 постов
Бог форума За хорошую посещаемость на форуме
Статус:
NFS Carbon. Супер бренд, ведущий издатель. У вас высокие ожидание к этому продукту? У меня тоже. Были. Если, вы читали мои предыдущие обзоры, то знаете, что я увлекаюсь реверс ижинерингом рендеров популярных игр. Обычно я брал хорошую игру, и смотрел почему же так все хорошо. Когда я запустил демку нового NFS, меня стали сильно одолевать вопросы "почему все так плохо?" и "откуда такие тормоза?".

Итак, "чудо" програмистского исскуства NFS Carbon.

Ингейм рендер (первая гонка в демке): в кадре от 1000 до 3000 (!) DIPов. Это ужас. Среднее значение 2200-2300. Рисуется все мелкими объектами. Окна на домах отдельно каждое, и т.д. Огромные шейдеры. Огромноая универсальность. В шейдерах для машинок учитывается всё: какие-то туманы, microflakes для металлических поверхностей (я понимаю использовать их в "гараже", там машинку рассматриваешь. Зачем они в гонке, объясните?). Слава богу для машинок есть LOD шейдеров. Для статики нету. Всего переключений шейдеров на кадр 100-200, а вот текстур 1500-2000, а рендер стейтов (о ужас) 15000 и больше!

Ужасно рисуется небо. Каким-то длиннющим шейдером (инструкций в 70, кажется) смешивается 2 текстурки первыми DIP вызовами. Естественно, занимает это все дело половину экрана. А потом, с чистой совестью, затёраем процентов 80 неба домиками. Какие молодцы. У вас крутая видяха, у которой пиксельные конвеера исчисляются десятками? Я вас поздравляю. Теперь есть чем её занять. smile

На нашем болиде realtime environment mapping, создание которого размазано по 6 кадрам (т.е. в 1 кадр игры рисуется 1 сторона кубемапы). Flatout 2 ясно показал, что честного и не надо вовсе. Я долго ездил в NFS'е на Gallardo туда сюда, пытаясь более точно определить схему обновления кубемапы. Вычислял эти честные отражения. Так и не вычислил. Единственное, где их более менее видно,то в кинематографических пролётах камеры на старте гонки. Хотя, так как машинки не отражаются (они в кубическую текстуру не рисуются), то и понту не много. А машинки не отражаются потому, что, так как текстура всего одна (только для нашей машинки), то было бы заметно, что отражения в машинах компьютерных гонщиков (для них используется та же текстура) стало неправильное. В общем, моё мнение по этому вопросу - выкинуть реалтайм нафиг, и практически без потери качества поднять ФПС. Плюс ко всему, есть A16R16G16B16F текстура, в красный канал которой, на каждом кадре, записывается нормализированная глубина всей сцены. Используется она только время генераци кубической текстуры (как я так и не понял). Сначала, меня посетила догадка о использования в игре технологии soft particles. Ан нет, фигушки. Плюс ко всему ABG каналы не используются. У вас на борту видеокарты много памяти? Так вот знайте, что играя в NFS Carbon почти 5 мегабайт (это в разрешении 1024х768) заняты пустотой.

GUI. Попробуете отгадать? Да, да, DrawPrimitiveUP. Весь GUI рисутеся DPUP'ами! Поэлементно. По буковке. 200-300 вызывов. У вас быстрый процессор? (даже с двумя ядрами?) Вот знайте, что играя в NFS Carbon он занимается простаиванием и пустой пересылкой вертексов в видеокарту. Очень полезная работа.

Motion blur. На самом деле это просто весовой Radial Blur. В основном проходе рендера пишем в альфа канал степень разблуривания конкретного пикселя. Ближние сильнее дальние слабее. На первый взгляд все просто. Смущает всего две вещи:
1. Почему шейдер блура такой огромный (100 инструкций)?
2. Почему в картинке, которая блурится нет машинок? Хотя может потому, что машинки обычно двигаются с сопоставимыми скоростями. Не предусмотрено одно: траффик часто двигается навстречу. Чёткий автомобиль, что едет по соседней полосе, на фоне размытой дороги смотрится аляповато.

Гараж и главное меню. Всегда очень "уважал" игры, которые начинают тормозить прямо с меню. Я "уважаю" NFS Carbon :). Она начинает тормозить с экрана, где пишут "Loading..." Но это не удивительно, ведь вы не знали, что на этом экранчике 1000 DPUP'ов smile
В общем гараж это обычный уровень, на котором рисуется даже небо (кто его там увидит, тому пирожок). Все те же, никому не нужные, сложные шейдеры. Отдельный перл гаража - отражения на полу. Не видно? Присмотритесь внимательнее. Так вот, в это "очень заметное отражение" рисуется абсолютно вся геометрия гаража. С теми же ужасными огромными шейдерами. Все супер мелкие детальки автомобиля. Все полочки, детальки и рюшечки интерьера помещения. Я не знаю чем думают разработчики, когда тратят столько ресурсов на фишку, которой практически не видно (я нашел отражения, только после того как увидел, что туда что-то рисуется).

 
Форум » Игры » NFS » История (нетак давно)
Страница 1 из 11
Поиск:

Форма входа
E-mail:
Пароль:
Друзья сайта
Counter-Strike Portal
V1T.RU


 
Статистика
Copyright MyCorp © 2010