Почему все так не любят макросы? Да, есть минусы, но блин куча плюсов, ведь это считай средство расширения синтаксиса языка. Если бы еще можно было обозначать макросы как-то красивее, чем тупо функция, было бы вообще огонь. Имхо метапрограммирование языка разработки — суперкрутая штука. Посмотрите недавние предложения по мета-классам, просто офигенная вещь
Не, я имею как раз таки без HPC#. Чисто C# vs C++. Суть в том, что если писать на плюсах обычный код, он будет работать с достаточной производительностью в большинстве случаев, и ECS там не нужен
Зато все остальное будет удобнее. И, как показывает практика, плюсовый код написанный левой пяткой по умолчанию работает в разы быстрее С#, чего вполне достаточно и без ECS в 90% случаев
А в С++ IDE этого нет? Черт, ощущение что их отдел маркетинга просто сказал «ребята, если мы скажем что юнити теперь кодируется на С++, наши пользователи просто испугаются и свалят»
ну теперь понятно, как это устроено… А то везде говорят «у них магия burst бла бла бла все будет работать быстро!!1».
Оказывается все просто: компилятору явно говорится что данные не пересекаются и можно векторизовать со спокойной душой. Так ли это сложно в С++, предназначенном для производительности, в статье не описано.
Мне кажется они пытаются решить неразрешимое противоречие: сделать простой и производительный инструментарий. Фишка в том, что простота всегда накладывает некие ограничения: ты можешь делать поверхностные операции, но не можешь уйти вглубь, иначе это становится сложно. А значит ты не можешь максимально эффективно распорядиться ресурсами, что значит невозможно достичь максимальной производительности.
В итоге, им приходится делать фактически сложное решение (нет сборщика мусора, везде опасные массивы, нет удобных плюшек C#, черт посмотрите их примеры, они просто ужасают), под эгидой простого решения — "..but it's still C#!!". Честно говоря не верится, что типичное Unity3D сообщество перейдет на эту парадигму. Это сообщество как раз таки и выросло из простоты и удобства инструмента.
Главный минус в том, что это не скелетная анимация, хах. Мы лишаемся возможности смешивать анимации друг с другом, у нас нет инверсной кинематики и тому подобных возможностей, присущих только скелетке.
Думаю все же подражание может быть стратегией. Но все же оно должно быть осмысленным подражанием. Если все делать «как у них, они вон много заработали», конечно велика вероятность что получится не «как у них». А вот если понять почему у них все получилось, то можно чужой опыт скорректировать под себя и получить с этого выгоду
имхо идея оч классная! Но как многие тут пишут, иногда предсказание некорректное, отчего появляется раздражение. Возможно станет легче если отмену предсказанного действия делать быстрее. Например если в демо водить под меню курсором по горизонтали, пункты меню постоянно срабатывают, а потом висят довольно долго. Может быть стоит проверять предсказание при остановке курсора.
А вообще, в продолжении идеи, если девайсы будут оснащены трекерами взгляда, ну хотя бы примерно, то задача решится гораздо проще и точнее. Почему вообще их до сих пор никто не сделал?
Оказывается все просто: компилятору явно говорится что данные не пересекаются и можно векторизовать со спокойной душой. Так ли это сложно в С++, предназначенном для производительности, в статье не описано.
Мне кажется они пытаются решить неразрешимое противоречие: сделать простой и производительный инструментарий. Фишка в том, что простота всегда накладывает некие ограничения: ты можешь делать поверхностные операции, но не можешь уйти вглубь, иначе это становится сложно. А значит ты не можешь максимально эффективно распорядиться ресурсами, что значит невозможно достичь максимальной производительности.
В итоге, им приходится делать фактически сложное решение (нет сборщика мусора, везде опасные массивы, нет удобных плюшек C#, черт посмотрите их примеры, они просто ужасают), под эгидой простого решения — "..but it's still C#!!". Честно говоря не верится, что типичное Unity3D сообщество перейдет на эту парадигму. Это сообщество как раз таки и выросло из простоты и удобства инструмента.
А почему их блендить не получается?
это многое объясняет!
А сам объект вектора не является тем самым объединением? Ей-богу, более уродливого синтаксиса и api чем в С++ найти невозможно…
А вообще, в продолжении идеи, если девайсы будут оснащены трекерами взгляда, ну хотя бы примерно, то задача решится гораздо проще и точнее. Почему вообще их до сих пор никто не сделал?