Найти тему
47 подписчиков

DOTS vs Assembly


Забавный ролик сравнивающий перфоманс, который мне скинул один подписчик. Самое любопытное для меня в нём, почему юнити в примере тратит столько памяти в DOTS. Когда мне на мобилке через гпу инстансинг на моно нужно было сделать кучу объектов, я такого не ловил. Но у меня всё движение описывалось математикой шейдеров правда. Да и выводы почти адекватные.

Что мне не понравилось это серьёзные рассуждения на тему ассемблера, так как в программировании ты больше думаешь, чем пишешь код. И от части это верно. Но есть ещё одна вещь которая даст фору любому другому занятию разработчика. Ты пишешь интеграции. И вот тут интегрировать в чистый ассемблерный проект условную платёжку или провайдера рекламы — будет весьма больно.

Инженерно прикольно упариваться в такие оптимизации, но ролик у меня вызвал ностальгию по моим приключениям в вебе. Юнити в вебе очевидно работает медленнее чем three.js, pixi.js и т.п. Имеет больший оверхед и тому подобное. Но вот эту игру https://whitelabelgames.ru/game/ar-bow на three.js я писал неделю с интеграцией графики, правильным использованием гироскопа и т.п. А на Unity меньше одного дня. Потому что визуальный редактор юнити, огромный пласт готовых интеграции, готовых плагинов и так далее — нереально ускоряет разработку. При этом на три я не дописал. Там не было лука с натягивающейся тетивой. Не было частиц.

Поэтому без задачи, где прям нужно выжать все соки, но при этом не так значительны интеграции и т.п. Либо же просто ну прийдётся их написать, я бы в эту сторону даже не смотрел. Под десктоп (а проект под десктоп на видео), можно было бы расчёт симуляции (который CPU bound будет) сделать в ассемблере и по тому же пайпу передавать результат шага симуляции в отрисовку в Unity. Это мне кажется более разумным путём. Но видос классный :)

#новости
1 минута