mirror of https://github.com/AxioDL/metaforce.git
parent
78f8716150
commit
6430f6c765
|
@ -388,10 +388,29 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
const auto targetFrameTime = getTargetFrameTime();
|
||||
bool skipRetrace = false;
|
||||
if (g_ResFactory != nullptr) {
|
||||
OPTICK_EVENT("Async Load Resources");
|
||||
const auto idleTime = m_limiter.SleepTime(targetFrameTime);
|
||||
skipRetrace = g_ResFactory->AsyncIdle(idleTime);
|
||||
}
|
||||
|
||||
if (skipRetrace) {
|
||||
// We stopped loading resources to catch the next frame
|
||||
m_limiter.Reset();
|
||||
} else {
|
||||
// No more to load, and we're under frame time
|
||||
{
|
||||
OPTICK_EVENT("Wait for Retrace");
|
||||
m_window->waitForRetrace();
|
||||
}
|
||||
{
|
||||
OPTICK_EVENT("Sleep");
|
||||
m_limiter.Sleep(targetFrameTime);
|
||||
}
|
||||
}
|
||||
|
||||
OPTICK_FRAME("MainThread");
|
||||
|
||||
boo::SWindowRect rect = m_windowCallback.m_lastRect;
|
||||
|
@ -490,17 +509,6 @@ public:
|
|||
|
||||
gfxQ->resolveDisplay(m_renderTex);
|
||||
|
||||
if (g_ResFactory != nullptr) {
|
||||
const auto targetFrameTime = getTargetFrameTime();
|
||||
const auto idleTime = m_limiter.SleepTime(targetFrameTime);
|
||||
if (g_ResFactory->AsyncIdle(idleTime)) {
|
||||
m_limiter.Reset();
|
||||
} else {
|
||||
// No more to load; sleep
|
||||
m_limiter.Sleep(targetFrameTime);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_voiceEngine) {
|
||||
m_voiceEngine->pumpAndMixVoices();
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 0985c63958024d054517216fc2dc0f7c7970a8a3
|
||||
Subproject commit 0396cf467b1cbd68779db200ff390e4330160254
|
Loading…
Reference in New Issue