Техно Шаблон (Осотонел 2)
771 subscribers
441 photos
15 videos
10 files
279 links
Мой (Мориса) канал/блог о технологиях. Если Вам интересен мой личный блог с аниме, мангой, Gachi мемами и прочим, залетайте в @osotonel .

ЛС для связи по важным вопросам: https://t.me/Moris_Shalon
Download Telegram
Техно Шаблон (Осотонел 2)
По ошибке не ту трансляцию завершил. Продолжение тут через 5 минут https://youtu.be/A6XY_b05U8U
Установил Rocket League на Эльбрусе в винде. Если эта игра сейчас нормально запустится и в Ubuntu, и в Эльбрус ОС (OSL) через RTC, постримим её сегодня.
👍16
Техно Шаблон (Осотонел 2)
Установил Rocket League на Эльбрусе в винде. Если эта игра сейчас нормально запустится и в Ubuntu, и в Эльбрус ОС (OSL) через RTC, постримим её сегодня.
стрим с Эльбрусом через 2 часа. Попробуем поиграть в открытую реализацию GTA III (нативно, в трансляции на винде и Ubuntu) , сыграем в Tomb Raider на винде и в Ubuntu с помощью Proton Port. Повеселимся, короче.
👍4
Техно Шаблон (Осотонел 2)
Photo
Минут через 15-20 запущу стрим
👍4
Техно Шаблон (Осотонел 2)
Запустил. Через 5-6 минут начнём https://youtu.be/z5HQdoIR-Hk
Завтра будет ещё один стрим с Эльбрусом, если у меня заработают игры в Wine через RTC.

Там есть свои нюансы, т.к. 64-битный RTC работает только с 64-битными приложениями, а в винде многие 64-битные приложения тянут за собой кучу 32-битных компонентов. В случае с запуском x86_64 Linux-приложений через RTC нет никаких проблем, т.к. в Linux приложения, как правило, полностью собраны для работы в x64 среде, но вот с Wine есть сложности из-за того, что в Windows многие приложения содержат 32-бит компоненты. Поэтому с Wine нужно учитывать дополнительные нюансы. Для работы 32-битных Windows приложений, соответственно, мне понадобятся 32-битный RTC и 32-битный образ Linux системы.

Короче, посмотрим, если у меня заведётся Wine и мы сможем поиграть в старые 32-битные игры (ну, скажем, CS 1.6), мы возьмёс и сыграем с вами в игрушки. И сможем сравнить сами FPS с таковым в Windows.

На прошлом стриме, который, как я думал, будет последним по Эльбрусу перед тем, как я запилю по нему статью с обзором, мы разобрались, что идея с запуском Wine в Ubuntu, запущенной через Lintel, не особо то и имеет место из-за низкой производительности при таком решении. У вас транслируется вся система, а в ней ещё транслируются Windows команды в аналогичные Linux команды (ну и DirectX ещё в OpenGL/Vulkan транслируется).

Но RTC ведь - другое дело. Сам по себе RTC намного эффективнее Lintel (если мы рассматриваем x86_64 Ubuntu 20.04.3 в обоих случаях), т.к. не транслируются, а исполняются в нативе всё ядро и спуск в него при system call и подъём обратно в user space. Это очень тяжёлые операции, трансляция которых требует больших ресурсов. И то, что вместо трансляции всей системы и всех драйверов для всего оборудования мы используем нативные ядро ОС, драйверы и прочие компоненты в случае с RTC, позволяет достичь высокой эффективности при трансляции.

Но Lintel зато умеет жевать и x86_64 программы, и x86 (32-bit), и работает система в Lintel с любым оборудованием, под которое есть драйверы для x86. Так что с точки зрения совместимости, конечно, Lintel лучше.

Короче, мне очень интересно будет посмотреть на то, что получится, если на Эльбрусе поднять wine в RTC. Мне дали готовый образ с Wine на Эльбрус ОС 3.0 (последняя версия OSL под 32-bit x86, далее только x86_64 выходили), но я хочу попробовать ещё сперва поднять Wine на x86 Ubuntu 18.04 32-bit (20.04.3 не поддерживает уже 32-bit x86) и Альт Линукс 10 32-bit.

Я отпишу завтра по ходу дела. Пока что я на Эльбрусе гоняю ещё пару тестов в винде.
👍9
Техно Шаблон (Осотонел 2)
Завтра будет ещё один стрим с Эльбрусом, если у меня заработают игры в Wine через RTC. Там есть свои нюансы, т.к. 64-битный RTC работает только с 64-битными приложениями, а в винде многие 64-битные приложения тянут за собой кучу 32-битных компонентов. В…
будет ещё перетест GTA 3 и GTA VC. Мы же не пробовали эти игры запускать через RTC. Сравним с тем, что в нативе. Ну и в нативе я также пересоберу эти игры. Мне EntityFX уже подсказал, почему у меня не получилось в прошлый раз собрать игру (GLFW нужно было юзать определённой версии, а не тупо послеледний брать с GitHub). В общем, попробую пересобрать, как текущие тесты завершатся, и проведём уже последний стрим с играми на Эльбрусе прежде, чем я уже сяду все полученные данные в статье обрисовывать.
👍8
Техно Шаблон (Осотонел 2)
Стрим завтра, не сегодня. Ещё гоняю один тест
Не получилось сегодня разобраться со всем. Звиняйте, ребят, но я как ни стараюсь, не разбираюсь так быстро. Будет стрим завтра тогда.
👍7👎1
Техно Шаблон (Осотонел 2)
Не получилось сегодня разобраться со всем. Звиняйте, ребят, но я как ни стараюсь, не разбираюсь так быстро. Будет стрим завтра тогда.
Раз такое дело, дам хоть маленькую затравочку, не относящуюся непосредственно к стриму. Я уже протестировал по большей части RTC и Lintel, и решил проверить, а как в эмуляции машинный e2k код пашет на x86 машине (ей выступил мой ноутбук Xiaomi с Core i7 8550U на 25 Ватт, на котором я с андервольтингом снизил TDP до 20 Ватт без потери в частотах). Мой ноут с задачей по декодированию этого сэмпла (AV1 видео) с помощью утилиты dav1d справлялся в нативе за 10.5 минут при условии, что мы компилировали её из C кода, а не пользовали Ассемблер под x86 (под E2k Асма нет у dav1d, так что для равных условий чекал и вариант из C кода). Так вот, в эмуляции он гоняет тест уже более суток и ещё не закончил.
Выводы делайте сами.

Да, уточню: эмулятор не юзает AVX и SSE инструкции, т.е. по идее при грамотной бинарной трансляции можно было бы выжать больше скорости с E2K кода при запуске на X86 машине. Но альтернатив нет, а что есть, вы видите сами: падение производительности в 152 раза. Тяжко X86 машина жуёт E2K код
👍9
Техно Шаблон (Осотонел 2)
Раз такое дело, дам хоть маленькую затравочку, не относящуюся непосредственно к стриму. Я уже протестировал по большей части RTC и Lintel, и решил проверить, а как в эмуляции машинный e2k код пашет на x86 машине (ей выступил мой ноутбук Xiaomi с Core i7 8550U…
Для тех, кто думает, что AVX инструкции помогут сократить разницу до нескольких процентов, вкину статью двухгодичной давности. Был скандал по поводу того, что компилятор Intel для процессоров AMD задействовал самые старые SSE1 инструкции 1999-го года. Ну и на AMD, когда обходили это ограничение и задействовали AVX инструкции, разница была существенной. Но более чем в 5 раз вы прироста от использования AVX вместо SSE1 мало где получите. Если вы сократите потерю производительности при эмуляции со 150 раз до 30, ноутбук всё ещё будет в дохрена раз медленнее и никуда от этого не денетесь. https://habr.com/ru/company/dcmiran/blog/479364/

Я это всё к тому, что не стоит думать, что AVX инструкции помогут вам разницу со 150 раз сократить до 1.5-2 раз. Это так не работает
👍4
Техно Шаблон (Осотонел 2)
Раз такое дело, дам хоть маленькую затравочку, не относящуюся непосредственно к стриму. Я уже протестировал по большей части RTC и Lintel, и решил проверить, а как в эмуляции машинный e2k код пашет на x86 машине (ей выступил мой ноутбук Xiaomi с Core i7 8550U…
Что в итоге? 10.5 минут у моего ноута превратились в 27.3 часа (ну, это если округлить до десятых, а если чуть точнее - 27.287 часа, но всем же плевать на эту мелочь). Т.е. при эмуляции E2K машинного кода на X86 процессорах производительность падает в 156 раз. Разница чуть больше вышла, чем ожидали ранее (152), но не суть.

На первом скрине как-раз то, что я сейчас гоняю на ноуте (dav1d в режиме эмуляции), а на втором скрине тест dav1d с 3 разными сценариями (без доп. оптимизаций, с оптимизациями флагом -O3 при компиляции, и со сборкой под x86 с использованием Ассемблера под x86). Нас интересует разница с теми значениями, что посередине на 2-м скрине, т.к. dav1d никто не писал с Ассемблером под E2K, и потому собрать его под E2k мы можем только из С кода. Ну и так мы протестим трансляцию E2K -> X86. Ну и разница - 156 раз.

Почему такая разница огромная, что даже AVX-инструкции не спасут x86? Если вкратце: Эльбрус устроен сложнее, чем Intel или AMD. Гораздо сложнее. И работает иначе. Подробности будут в статье
Техно Шаблон (Осотонел 2)
Запустил. Сейчас перекурю и начнём
Media is too big
VIEW IN TELEGRAM
Для тех, кому было интересно, пашет ли на 8С на Windows 10 в трансляции (Lintel 4.1) игрушка Genshin Impact: да, она пашет. Не быстро, не успевают подгружаться модели и текстуры в игре, FPS в районе 10-12 в среднем, заметны фризы, но пашет, как, в принципе, и вообще всё в трансляции, за исключением софта, не работающего без AVX инструкций и прочих подобных нюансов. Тестировал с низким пресетом графики и опцией 60 FPS (без этой опции максимум - 30).

Напомню, лично я считаю, что нет никакого смысла использовать Эльбрус с системой, работающей в трансляции (особенно такой тяжёлой системой, как винда). Просадка в производительности слишком большая. Тот же GTA III (вернее, re3, собранный из исходного кода), если в винде выдаёт примерно 15-20 FPS, то нативно на Linux под E2K пашет уже с 60-100 FPS.
Было бы интересно глянуть на Genshin в нативе, но под Linux (и, тем более, E2K), нативных сборок нету (Wine в трансляции мы уже проверяли и это довольно хреновое решение с точки зрения скорости).
👍14