Ода про кривих руках, або чому так гальмує nfs carbon

NFS Carbon. Супер бренд, провідний видавець. У вас високі очікування до цього продукту? У мене теж. Були. Якщо, ви читали мої попередні огляди, то знаєте, що я захоплююся реверс іжінерінгом рендерів популярних ігор. Зазвичай я брав хорошу гру, і дивився чому ж так все добре. Коли я запустив демку нового NFS, мене стали сильно долати питання "чому все так погано?" і "звідки такі гальма?".

Отже, "чудо" програмістского мистецтва NFS Carbon.

Жахливо малюється небо. Якимось довжелезним шейдером (інструкцій у 70, здається) змішується 2 текстурки першими DIP викликами. Природно, займає це все справа половину екрану. А потім, з чистою совістю, затёраем відсотків 80 неба будиночками. Які молодці. У вас крута видяха, у якій піксельні конвеєра обчислюються десятками? Я вас вітаю. Тепер є чим її зайняти. )

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

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

Короткий висновок чому все так погано:
  • Величезна кількість викликів рендеру (драйвер тайм половина часу кадру)
  • Іспользвангіе DPUP.
  • Сумнівні графічні рішення.
  • Величезні прибери-шейдери (я в них не розбирався, але у мене стійке відчуття, що можна простіше).

    З.И. Тестувалася демо версія. Сильно сумніваюся, що в релізі буде краще.
    З.З.И. Попередні версії NFS'а не досліджував. Я не знаю як там, але, по крайней мере, не гальмують.

    Схожі статті