Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Поток рендеринга backend интерфейса (Отправка команд GPU)
Поток игровой логики и рендеринга frontend интерфейса
задание не должно длиться не более чем несколько 100 000 тактов
Последний являются предпочтительным, так как позволяет двигателю сохранять фокусировку CPU.
Эти три механизма реализации
разделить списки заданий на несколько секций, к каждому из которых обращается только один поток
Рендер frontend-a
Рендер backend-a
Если поток не может «заблокировать» JobList, она падает в RUN_STALLED режим.
Сигналы используется
Реализует получение указанного объекта критической секции.
tr.frontEndJobList->Submit();
tr.frontEndJobList->Wait();
задание должно длиться по крайней мере пару 1000 тактов
Doom 3 BFG — обзор исходного кода: Многопоточность (часть 2 из 4)