Size: a a a

Rust GameDev — русскоговорящее сообщество

2021 July 12

R

Roman in Rust GameDev — русскоговорящее сообщество
И не надо путать барьеры с мьютексами
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Проблема в частых конфликтах. Есть очень популярные компоненты, которые кто не пишет, тот хоть читает.
Для хорошей утилизации вам надо что бы в любой момент времени выполнялось CPU*2 неконфликтующих систем
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Да, параллелизация однопоточных систем, может позволить нагрузить пару-тройку ядер. Многопоточные системы запросто нагрузят все ядра
источник

AI

Alex Ilizarov in Rust GameDev — русскоговорящее сообщество
Я не путаю, это ьыл учловный пример
источник

AI

Alex Ilizarov in Rust GameDev — русскоговорящее сообщество
Барьер внутри шедулера
источник

AI

Alex Ilizarov in Rust GameDev — русскоговорящее сообщество
Ну пока их не пишут, на чтение они паралелятся сразу для всех систем которым нужны
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
У параллелизации систем есть свои минусы. В частности требуется откладывать создание новых сущностей и добавление-убирание компонентов, и делать это между кадрами.
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Эти все системы могут конфликтовать по другому компоненту. Посчитайте сколько в среднем систем выполняется одновременно
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
При чем в среднем - по времени
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
Ну, кажется что очевидно лучше ускорять системы за счёт векторизации (векторизация тут как в виде SIMD так и в виде распараллеливания на ядра) и скорости выполнения самой системы, а не просто позволения эту систему на отдельном ядре покрутить. Хотя бы даже по той причине что может найтись настолько тяжёлая система, что она будет стопорить выполнение всех остальных
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Это довольно легко. Воткнуть дерганье счетчика на входе и выходе с каждой системы и сумму с инстантом в список добавлять. Потом пробежаться по таймлайну и найти среднее
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Лучше оба варианта. Но только если вам трейдоф параллелизации систем не страшен
источник

f

faramo_zayw in Rust GameDev — русскоговорящее сообщество
Ну, для VSCode есть подсветка синтаксиса, но на этом пока что всё)
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
а ты автор или просто интересующийся? 🙂
источник

f

faramo_zayw in Rust GameDev — русскоговорящее сообщество
Пока что просто интересующийся)
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Есть такой метод - вместо нового языка берешь существующий и делаешь свой интерпретатор на него, с необходимыми свистелками.
Половина тулинга в подарок :)
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Под необходимыми свистелками я имею ввиду свои lang-items типа функций из коробки, которые на нем написать нельзя, непрозрачных типов итд
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
берёшь существующий и пишешь для него транслятор в новый 😄
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Это то же самое with extra steps
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
Боюсь, Илья будет против
источник