Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Поток рендеринга 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)