Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Но как и в случае с Oblivion, Modern Warfare на PC всё равно была очень требовательной при максимальных настройках — очень важен был многоядерный CPU.
На самом деле, такое ощущение сохранялось год за годом — появлялись новые CPU и GPU, но все они не могли запускать Crysis в том же качестве, что и другие игры.И, к превеликой печали, продолжает радовать но огорчать.
Да, графика может быть и радовала, зато низкая частота обновления кадров, которая, казалось, никогда не увеличивалась, определённо огорчала.
Advanced Real-Time Rendering in 3D Graphics and Games Course – SIGGRAPH 2007
Finding Next Gen – CryEngine 2
Martin Mittring, Crytek GmbH
Support for multiple GPU and multiple CPU (MGPU & MCPU)
Development with multithreading and multiple graphic cards is much more complex and often it’s hard to not scarify other configurations.
Многие критиковали Crysis за плохую оптимизацию под многоядерные CPU.
Учитывая то, что после выпуска игры четырёхъядерные CPU станут нормой только через несколько лет, у Crytek не было реальной необходимости в дальнейших оптимизациях.
В DirectX 9 и 10 выполнение графических команд обычно производится в одном потоке (потому что в противном случае сильно снижается производительность). Это означает, что при большом количестве вызовов отрисовки, наблюдаемом во многих сценах, серьёзно загружены только одно или два ядра…движок, тем не менее, мог бы эффективнее использовать ядра, незадействованные DirectX'ом, для других нужд — подгрузки объектов и уровней, например. Ведь зачастую выполнение этих операций вызывает заметную просадку fps. Также можно было бы подумать о создании очереди на фоновый рендеринг объектов — во время уменьшения нагрузки на DirectX проводить рендеринг объектов, у которых есть шанс скоро появиться в кадре.
То есть дело не в том, что Crysis неправильно поддерживает многопоточность — очевидно, что причина в ограничениях DirectX
Значит ли это, что Crytek просто засунула в движок все взможные техники рендеринга, не задумываясь о производительности? Поэтому Crysis заслужил все эти шутки над собой?
Также можно было бы подумать о создании очереди на фоновый рендеринг объектов — во время уменьшения нагрузки на DirectX проводить рендеринг объектов, у которых есть шанс скоро появиться в кадре.
Возможно, если бы свободные от работы на DirectX ядра занимались бы неторопливой фоновой подготовкой данных — загрузкой и распаковкой в безбрежное ОЗУ ресурс-паков,
В этой сцене вызывается более 4 тысяч групп полигонов для 2,5 миллиона треугольников окружения, чтобы наложить на них 1 932 текстуры
Для игры 2007 года такое количество вызовов чрезвычайно высоко, потому что излишние траты CPU в DirectX 9 (и, в меньшей степени, в DirectX 10) для выполнения каждого вызова не были так уж тривиальны.
Что значит рендеринг объектов, у которых есть шанс скоро появиться в кадре?Не рендеринг того, что не видно, а постановку в очередь на рендеринг, т.е. поиск нужных объектов, чтение, распаковку. Ну и шейдеры заранее можно подготовить, а не ждать, пока отрисуются все эффекты — выглядит как спецэффекты из «трансформеров» — рядом бегут тела, обрастая по пути плотью. Тут уместна оговорка — я вовсе не сварщик, просто что вижу, о том пою. Конечно, какая-то очередь есть, но этого явно недостаточно — в описанной ситуации, когда вообще вся игра расположена в ОЗУ, а уровень целиком ещё и закэширован — занимает 2,5 ГБ, свободное ОЗУ ещё есть, что мешает разложить всё по полочкам, чтобы потом не было описанной просадки при появлении нескольких мобов четырёх классов?
Чем ещё, по-вашему, занимались другие ядра?К сожалению, простаивают. CryEngine 2'64. Понимаю, что возможно так написана игра, но подобные тормоза, судя по отзывам на форумах, присущи всем играм на, как минимум, ранних версиях движка. Конечно, внутренняя кухня непроста, но должна же быть хоть какая-то положительная динамика у движка при работе на железе будущего (с его точки зрения)?
Не рендеринг того, что не видно, а постановку в очередь на рендеринг, т.е. поиск нужных объектов, чтение, распаковку. Ну и шейдеры заранее можно подготовить, а не ждать, пока отрисуются все эффекты
Конечно, какая-то очередь есть, но этого явно недостаточно — в описанной ситуации, когда вообще вся игра расположена в ОЗУ, а уровень целиком ещё и закэширован — занимает 2,5 ГБ, свободное ОЗУ ещё есть, что мешает разложить всё по полочкам, чтобы потом не было описанной просадки при появлении нескольких мобов четырёх классов?
К сожалению, простаивают. CryEngine 2'64. Понимаю, что возможно так написана игра, но подобные тормоза, судя по отзывам на форумах, присущи всем играм на, как минимум, ранних версиях движка.
А при чём здесь ОЗУ, видеокарта держит текстуры и модели в собственной памяти.Во встроенных видеокартах, внезапно, очень даже причём. Но проблема в том, что на Ryzen 3600/GF RTX2060 происходит ровно то же, средний fps незначительно выше, но просадка столь же огромна, т.е. никакого насыщения и упора в условные 60 fps вне зависимости от нагрузки нет и близко.
Ну так движок писался под процессоры тех лет, когда 4 ядра было сверхкруто. И ожидали частот 10 ГГц «уже в скором будущем». Полагаю, поэтому ставка была сделана не на распараллеливание, а на ожидание большей скорости одного ядра в будущем.Будущее настало, но пока что ни марсианских яблочек, ни 10 ГГц процессоров всё ещё нет. Да, вероятно неправильно ожидать от древнего движка чудес производительности а от его авторов непогрешимой прозорливости, как и оптимизации современного железа и драйверов в том числе и под ускорение древних движков. А иногда хочется.
проблема в том, что на Ryzen 3600/GF RTX2060 происходит ровно то жеНа указанной конфигурации проверял, принципиальных изменений нет. Зачем гонять лишние 300 Вт, если гарантированного fps всё равно не будет?
В апреле 2020 года Crytek объявила, что займётся ремастерингом Crysis
Однако к середине 2007 года самые мощные PC уже могли быть оснащены 2 гигабайтами системной ОЗУ
С каждым абзацем начинаешь всё больше ценить Vulkan и современное железо.
Забавно, что ремастер запустили на эмуляторе Switch на ПК.
«А Crysis потянет?» Почему до сих пор обсуждают игру, выпущенную 13 лет назад