Многопоточная игра - обновление, рендеринг и их разделение

Итак, я работаю над игровым движком и добился довольно хороших результатов. Однако мой движок является однопоточным, и преимущества разделения обновления и рендеринга на отдельные потоки кажутся очень хорошей идеей.

Как мне это сделать? Однопоточные игровые движки (концептуально) очень легко сделать, у вас есть цикл, в котором вы обновляете -> рендеринг -> сон -> повторять. Однако я не могу придумать хороший способ разделить обновление и рендеринг, особенно если я изменю их частоту обновления (скажем, я прохожу цикл обновления 25 раз в секунду и имею 60 кадров в секунду для рендеринга) - что, если я начну обновление на полпути через цикл рендеринга, или наоборот?

5
задан CodeBunny 4 April 2011 в 13:03
поделиться