Size: a a a

Unity Floodилка

2021 March 11

R

Rose in Unity Floodилка
Grygory Dyadichenko
А потом уже собирается сам Mesh, Go, MeshRenderer и прочая юнити фигня. Просто тяжелые операции типа расчёта этого меша у тебя вынесены в другой поток/потоки. Например алгоритмы триангуляции облака точек. И таких примеров, что так можно делать - много. Сетка, загрузка файлов, обработка картинок через OpenCV. Расчёт в отдельном потоке - результат в мейнтред для того, чтобы юнити его условно скажем отобразило)
идите в @unity_architecture
источник

GD

Grygory Dyadichenko in Unity Floodилка
Да там это все и так знают)
источник

АН

Антон Никитенко... in Unity Floodилка
источник

P#

Pavel #------# in Unity Floodилка
А чё не так с 1050ти
источник

AD

Apache DOG™ in Unity Floodилка
Grygory Dyadichenko
А потом уже собирается сам Mesh, Go, MeshRenderer и прочая юнити фигня. Просто тяжелые операции типа расчёта этого меша у тебя вынесены в другой поток/потоки. Например алгоритмы триангуляции облака точек. И таких примеров, что так можно делать - много. Сетка, загрузка файлов, обработка картинок через OpenCV. Расчёт в отдельном потоке - результат в мейнтред для того, чтобы юнити его условно скажем отобразило)
Что значит нельзя вызывать, когда можно написать проксю которая будет пробрасывать вызовы
источник

P

Phantom in Unity Floodилка
Apache DOG™
Что значит нельзя вызывать, когда можно написать проксю которая будет пробрасывать вызовы
Напрямую из другого потока
источник

P

Phantom in Unity Floodилка
А так, по факту, ты все равно вызываешь из main треда
источник

GD

Grygory Dyadichenko in Unity Floodилка
Apache DOG™
Что значит нельзя вызывать, когда можно написать проксю которая будет пробрасывать вызовы
Расчёт и нагрузка идёт на несколько потоков. Я результат просчёта пробрасываю в контекст главного потока
источник

GD

Grygory Dyadichenko in Unity Floodилка
А не вызываю метод просчета в главном потоке. Это разные вещи
источник

GD

Grygory Dyadichenko in Unity Floodилка
Прокся или диспатчер пробрасывает результат в контекст главного потока. Об этом как бы и речь. Просто в другом треде сделать new Mesh нельзя. Но можно всю нагрузку отдать на другой поток, а часть с new Mesh уже и назначением вертексов сделать в главном
источник

GD

Grygory Dyadichenko in Unity Floodилка
Короче в плане понимания работы этого подхода достаточно посмотреть, как работает фаербейс и его ContinueWithMainThread
источник

AD

Apache DOG™ in Unity Floodилка
Grygory Dyadichenko
Короче в плане понимания работы этого подхода достаточно посмотреть, как работает фаербейс и его ContinueWithMainThread
Вообще этот ручной пердолинг потоков такая фигня
источник

AD

Apache DOG™ in Unity Floodилка
из 1990-х
источник

GD

Grygory Dyadichenko in Unity Floodилка
Так кто про это говорит, тредпул в тасках работает по тем же принципам, и нет не из 90-ых. Есть задачи где тредпул не удобен
источник

GD

Grygory Dyadichenko in Unity Floodилка
Это отдельный инструмент, так же как и тредпул
источник

GD

Grygory Dyadichenko in Unity Floodилка
Так как строить синхронизацию потоков из тредпула, если эвейты не подходят, это такая головомойка. Можно конечно, но это на уровне «ёжики кололись, но продолжали жрать кактус». Просто неудобно. А иногда для большей производительности нужно писать ручную синхронизацию. Плюс со всякими CancellationToken не всегда хочется морочиться, а тред в отличии от таски можно тупо абортнуть через экспешн на уровне синтаксиса. Если скажем у тебя загрузка имеет кнопку Cancel. В тасках это делается через объекты синхронизации конечно, но это геморрой
источник

d

dm in Unity Floodилка
источник

🎄K

🎄 Viktor 🎄 Korkishko... in Unity Floodилка
Скика
источник

🎄K

🎄 Viktor 🎄 Korkishko... in Unity Floodилка
42 лярда
источник

🎄K

🎄 Viktor 🎄 Korkishko... in Unity Floodилка
Ахуеть
источник