Как стать автором
Обновить

Комментарии 33

впервые показали запуск первых двух частей шутера S.T.A.L.K.E.R. «Зов Припяти» и «Чистое небо»

Первая часть — «Тень Чернобыля». «Чистое небо» вторая, а «Зов Припяти» третья. Так что или в названиях ошибка или должно быть «двух последних частей».
Двух последних, конечно.
Смотрим Framerate, а там одни пики точеные.

Вот, даже на Эльбрусе запускается. А тем временем чтобы на Intel, но под линуксом запустить, то всё равно нужно много шаманить.

Через PlayOnLinux она запускалась вроде без особых проблем и работала шустрее, чем под виндой на том же компе.
Чтоб работать шустрее на том же компе надо выполнять меньше инструкций, типа не прорисовывать полностью текстуры.
… или иметь больше доступных ресурсов для выполнения тех самых инструкций.
Достаточно посмотреть на загрузку процессоров и тд чтоб стало понятно, что дело не в количестве ресурсов, и туда не упирается. В большинстве случаев «работала быстрее через PlayOnLinux » — это чисто субьективное восприятие, но обычно все же дело в исопльзуемых хаках. Очень часто практикуется в эмуляторах.
Возможно, именно туда оно и упиралось. Это был конец двухтысячных, новенькая Виста от Майкрософт совсем не радовала производительностью, а под Arch Linux (конечно же субъективно, — замеров сейчас не приведу) всё шевелилось заметно быстрее. В том числе и эта игра.
Ну знаете, в сравнении с Vista пожалуй, даже Ubuntu 20 выглядит как вполне шустрая система.
В те времена я в последний раз видел Windows на своём компьютере.
Cогласен, справледливей было бы сравнивать с XP

Вроде оригинальные движки Тени чернобыля и Зова припяти без всяких танцев идут под последним вайном

Тут именно нативно. Компилируют исходники.

так а зачем оригинальный, если есть open xray который нативно под линуксом работает?

Я если честно о нём слышал только то, что он есть, а насколько он хорошо работает, не интересовался. А так как оригинальный заводился без лишних телодвижений, то поводов ресерчить эту тему не было.

Ну, работает неплохо, но пошаманить надо — на гите же нет ресурсов игры самих. Да и на той версии, которую я пробовал пару лет назад был баг с проверкой создания окна (через виндовую либу, ага) из-за которой она крашилась. Причем они о баге знали, и лечение расписано — тупо if убрать в одном месте — но не патчили. Хз как ща, у меня линукс как вторая система почти никогда не работает даже, просто есть и все.

Было бы интересно с чем столкнулись при портировании. Узкие места, сложности архитектуры. Загруженное ядро пришлось так выделить или оно всегда используется так игрой? Вроде об Эльбрусе говорили что почти 100% там нормальная нагрузка без перегрева.

Основной затык был в портировании luajit хоть в каком-то виде. В остальном — подкрутили сборку, поправили макросы, поправили cpuid. Никаких оптимизаций или чего-то такого не делали. Как только стало запускаться и не вылетать — сразу стрим провели.

А если у х86 версии отключить JIT у Lua, собрать и сравнить?

luajit это отдельная реализация. Вполне возможно, что заменять её на референсную оказалось более проблемно, чем портировать JIT. Но всё равно немного странно, да.

Ну собрать x64 без JIT не удалось, в не-jit коде есть ссылки на поля структуры, которые спрятаны под макрос JIT и починить я это по-быстрому без особого знания не смог. Похоже, никто и не волнует сборка X64 без JIT. А попытки отключения JIT в рантайме кажется ни на что не влияют. Либо там ничего на самом деле не отключается, либо просто нет заметной разницы в производительности.
Кстати, тут сравнение производительности Lua vs LuaJit Interpreter + LuaJit Full: luajit.org/performance.html
Насколько я помню, Сталкер почти не умел в многопоточность
Ну, что сказать? Слава радеону, вытягивает.

Не указали, что долгое время не удавалось портировать по причине отсутствия LuaJit. Его перенесли на е2к, но он работает в режиме интерпретатора, а не с JIT. Вообще рекомендовали некоторые скрипты преобразовать в С++ и собрать нативно.

а Doom-то где, Doom идет на Эльбрусе?

"Вдобавок энтузиасты выложили на канале Elbrus PC Test несколько видео с запуском других популярных старых игр на ПК на базе «Эльбрус-8С»:

...

Doom 3: BFG Edition

..."

А если ты имел ввиду первый Дум, то он буквально идет на всем, что имеет экран, хоть какой-то процессор и пару кнопок.

Как и Герои 3)

А что есть исходники сталкера на плюсах?

Сравнивать х86 и Эльбрус не совсем корректно, совсем разные архитектуры

Для высокой производительности на Эльбрусе нужен совершенно другой подход и правильное распределение данных подаваемых АЛУ под вычисления, компилятор к сожалению сам довольно плохо справляется с оптимизациями под явный параллелизм заложенный в архитектуре, плюс упор в пропускную способность память может вполне себе упираться и из-за этого остальные ядра работают как раз таки не оптимально и занимаются загрузкой данных.

Кто интересуется могут почитать документацию по Эльбрусу и увидеть, что каждое ядро имеет свои ограниченные возможности и только(если не подводит память) 4 из них могут заниматься подгрузкой данных через кэши, что они скорее всего и делают. Есть конечно вариант заставить его использовать АПБ, но и там свои нюансы с оптимальностью вычислений в виде использования вращаемых регистров, которых довольно мало и не всякая вычислительная схема попадёт под такие требования.

в общем без глубоких оптимизаций и переписывания исходного кода движка тут вряд ли можно увидеть производительность в силу совершенно иной архитектуры с явным параллелизмом и асинхронным блоком подгрузки

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории