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
@@ -80,7 +80,13 @@ pipelines draw both), and a pixmap target's frame is read back through the chann
|
||||
`-read` event) into its Pixmap, as the client's renderer does, synchronously. A read back must fit in the channel's
|
||||
data area (16 MB: the client's 2048x2048 snapshots just do). Checked with outfit pictures and photos.
|
||||
|
||||
Next: sharing pipelines between views (each view's scene compiles its own), and higher frame rates.
|
||||
Higher frame rates (in progress): the client steps its scene 30 times a second (SceneWindow.dll's `runApp`), and
|
||||
draws a window's frame on WM_PAINT. The adapter's frame pacer (`adapter/frame_pacer.cpp`) asks the 3D windows to
|
||||
repaint between steps at the user's rate (T5DE's settings, Graphics: `HKCU\Software\T5DE\Graphics\FrameRate`), only
|
||||
when affordable: drawing shares the client's main thread with its input and interface. The extra frames show the
|
||||
same scene until animations, the camera and particles are drawn at the time between steps.
|
||||
|
||||
Next: sharing pipelines between views (each view's scene compiles its own).
|
||||
|
||||
## Building
|
||||
|
||||
|
||||
Reference in new issue
Block a user