Многопоточность против фризов
Лаг при загрузке
Лаг при вводе (input lag)
Лаг при вводе (input lag)
Нормальная нагрузка
Перегрузка
Игровой цикл
Фриз при пиковой нагрузке
Корутины
Недостатки корутин
Многопоточность
Пул потоков (ThreadPool)
Пул потоков (ThreadPool)
Асинхронные вычисления
Асинхронный ввод-вывод
Цепочка асинхронных методов
Асинхронный возврат значения
Асинхронная обработка ошибок
Асинхронность вместо корутин
Асинхронность вместо корутин
Настройка Unity

Многопоточность против фризов

1. Многопоточность против фризов

Артамонов В.В.

2. Лаг при загрузке

3. Лаг при вводе (input lag)

4. Лаг при вводе (input lag)

5. Нормальная нагрузка

Задачи

6. Перегрузка

Много
задач

7. Игровой цикл

16ms

8. Фриз при пиковой нагрузке

24ms
16ms
16ms
time
16ms

9. Корутины

16ms
16ms
16ms
time
16ms

10. Недостатки корутин

• Однопоточность
• Нет возвращаемого значения
• Сложно обрабатывать ошибки

11. Многопоточность

Thread 1
Игровой цикл
Thread 2 Thread 3

12. Пул потоков (ThreadPool)

13. Пул потоков (ThreadPool)

14. Асинхронные вычисления

15. Асинхронный ввод-вывод

16. Цепочка асинхронных методов

17. Асинхронный возврат значения

18. Асинхронная обработка ошибок

19. Асинхронность вместо корутин

20. Асинхронность вместо корутин

21. Настройка Unity

Edit -> Project Settings -> Player
• Scripting Runtime Version .NET
4.x Equivalent
• Api Compatibility Level .net
standard 2.0
English     Русский Правила