Автор не входит в состав редакции iXBT.com (подробнее »)
avatar
Вообще-то НК-33 давали сложение колебаний с катастрофически и эффектами…
avatar
Нет не угадал. Но близко:
«Движок портирован в режиме „интерпретатора“ — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере....»
avatar
Это не процессор ₽#3@ец, комментаторы, которые не могут закрепленый комментарий под оригинальным видео прочитать.
Там этот код можно раз в 15 оптимизировать…
avatar
А это как, не на высоте?
https://youtu.be/5TtOQQAtt3A
avatar
Затем что он свой и он работает и уже сейчас закрывает основные потребности разных ведомств.
И игрухи современные вполне нормально тянет при наличии правильно скомпилированных исходников.
https://youtu.be/5TtOQQAtt3A
avatar
Вартандер подойдёт?
https://youtu.be/5TtOQQAtt3A
avatar
Дело даже не столько в этом, а в том что ОпенЕксрэй не основан на исходниках а:
1) Движок портирован в режиме «интерпретатора» — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере.
2) Проект выложен в открытый доступ за исключением кодогенератора, с предгенеренным кодом на github-е: github.com/helce/LuaJIT
3) Порт достаточно медленный в виду архитектурных особенностей движка, т.к. используется рандом-доступ к шаблоном с вычислением адреса каждого следущего и хранение всех операндов и результатов операций в памяти. Т.е. для выполнения простейшей операции a = b, требуется загрузить операнды из памяти, вычислить a, записать в память, вычислить адрес следующего шаблона, подготовить операнды и передать управление. В итоге заместо одного такта получается в районе 20 в «хорошем случае» и сотни в случае кэш-промахов. На интелах подобная модель может работать относительно быстро, т.к. планированием всего этого счастья будет заниматься процессор, на эльбрусе такое же не прокатывает.
4) По моим расчетам можно сделать минимум раз в 10-15 быстрее, если переписать механизм взаимодействия шаблонов на использование «шаблонных лент», с записью в память только на переходах. Это и jit-итить имеет смысл, т.к. код получится связанный. И планирование будет в разы лучше. По крайней мере тестовый компилятор brainfck получился довольно быстрым (на нем отлаживал кодогенератор dynasm).
5) Однако это довольно большой объем работы, а т.к. у автора luajit не то что документации нет, а даже с комментариями в коде беда, проще с нуля написать. Но боюсь у меня нет столько свободного времени.
6) Jit-а в текущих реалиях не планируется, т.к. толку от него будет мало, да и запрещено пока публиковать opcode-ы, а кодогенератор то на lua написан и будет требовать установки на машину.
7) Ошибки все еще присутствуют минорные, т.к. тестов конкретно luajit немного, а api отличается от ванильного lua-5. Несколько ошибок удалось отловить как раз на openxray.
avatar
Да, просто дело в прямых руках и доступных исходниках.
avatar
Эльбрус вполне конкурентен. Просто нужны прямые руки и исходный программный код:
https://youtu.be/5TtOQQAtt3A
avatar
Порт тормознутый…
avatar
Я правильно понимаю что у фанатов не было исходников и это
«Движок портирован в режиме „интерпретатора“ — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере.»
avatar
Пишут что:
Движок портирован в режиме «интерпретатора» — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере…
avatar
«Движок портирован в режиме „интерпретатора“ — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере....»
И далее по тексту закрепенного ко мента а данном видосе
avatar
Да только читаем закрепленый коммент под сабжевым видосом:
«Движок портирован в режиме „интерпретатора“ — ahead-of-time шаблонного компилятора с внутренним предствавлением на псевдоассемблере… „
avatar
Дело даже не в техпроцессе. Нормальноскомпилироаанные игры работают на Эльбрус так, что процессор вообще не является узким местом..
https://youtu.be/5TtOQQAtt3A
avatar
Прочитай закрепленый коммент под сабжевым видео. Это не есть нормально скопилированеый исходный программный код.
Нормально скомпилированная игрушка вот в этом примере: https://youtu.be/5TtOQQAtt3A
avatar
Вот здесь например.
https://youtu.be/5TtOQQAtt3A
Просто надо уметь дорабатывать напильником программный код…
avatar
В компиляции исходного кода приложения (желательно оптимизированного под архитектуру) в нативный код эльбруса…
avatar
Нет времени смотреть видос… А исходники Сталкера для компиляции в нативный код эльбруса они где взяли?
Дайте угадаю, игру запустили в режиме двоичной трансляции?
А давайте сравним как интел будет тащить реалтайм трансляцию сталкера в кодах иксбокса например…