The frame pacer repaints the client's 3D windows at the user's frame rate (HKCU\Software\T5DE\Graphics\FrameRate: 30, the default, adds nothing; 60, 120, 240, 360; 0 uncapped), so the client draws frames between its 30-per-second steps. Only when affordable: a window is asked once its last frame is drawn, and only if its frames take under three quarters of the interval; uncapped, the client is left idle a third of a frame between frames. The engine's stats now log frames per second. The extra frames show the same scene for now. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
8055099920
commit
05a7be5d41
7 files changed
+233
-18
No files matched your search
+1
-1
@@ -64,7 +64,7 @@ extern "C" imvu::SharedPtr<imvu::PiRenderEngine> __cdecl createRenderEngine(imvu
|
||||
const protocol::View shown = view();
|
||||
auto renderer = hwnd != nullptr && shown != protocol::View::Off ? RendererProcess::start(hwnd, shown) : nullptr;
|
||||
return imvu::SharedPtr<imvu::PiRenderEngine>(std::make_unique<Engine>(
|
||||
std::move(inner), std::make_shared<Recorder>(std::move(renderer))));
|
||||
std::move(inner), std::make_shared<Recorder>(std::move(renderer)), hwnd));
|
||||
} catch (const std::exception& e) {
|
||||
// Exceptions mustn't cross into IMVU's code (a different C++ runtime).
|
||||
log::info("createRenderEngine failed: {}", e.what());
|
||||
|
||||
Reference in new issue
Block a user