Ниже приведена диаграмма последовательности UML, показывающая время обработки при моем понимании игрового цикла в библиотеке libGDX. Я думаю, что это должна быть одна и та же архитектура для любой другой игровой библиотеки. Я не уверен, правильно ли я понял. Теоретически CPU и GPU работают параллельно. Когда ЦП ждет, пока ГП закончит изменение буфера, это делает его последовательным процессом. Как заставить мой игровой цикл работать параллельно или я неправильно понимаю?
Теперь image мы хотим иметь распараллеливание и чтобы GPU работал медленнее, чем CPU, а CPU продолжал со следующим кадром, пока GPU выполняет рендеринг. У нас есть второй поток, ожидающий завершения GPU. После того, как GPU закончит работу, вычисляется следующее изображение. Куда теперь идут изменения состояния OpenGL и команды рисования? GPU сейчас занят. Это приводит меня к выводу, что я что-то упускаю.
РЕДАКТИРОВАТЬ: