mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
Call frame generation "Smooth motion" in user-visible text
Log lines and doc headings say "Smooth motion (frame generation)", the player-facing name. Config key [video] frame_generation and PSX_FRAME_GEN are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Frame generation (`[video] frame_generation`)
|
||||
# Smooth motion (frame generation, `[video] frame_generation`)
|
||||
|
||||
Opt-in, OpenGL with the render thread only, off by default
|
||||
(`PSX_FRAME_GEN=0/1` overrides for one run). Off, nothing in this document
|
||||
|
||||
@@ -15,7 +15,7 @@ render_thread = true # game.toml; PSX_RENDER_THREAD=0/1 overrides
|
||||
are also read from the player's `settings.toml` `[video]`, which wins over the
|
||||
game.toml default; the `PSX_*` env vars override both for one run and are
|
||||
never saved. The launcher shows them as Settings → Display rows (Render
|
||||
thread, Present thread, Frame generation; recomp-ui
|
||||
thread, Present thread, Smooth motion (frame generation); recomp-ui
|
||||
`RECOMP_LAUNCHER_HAS_RENDER_PIPELINE`, OpenGL only, the latter two disabled
|
||||
while Render thread is off). The pipeline starts once at boot, so a change
|
||||
from the in-game launcher is saved and applies at next launch.
|
||||
@@ -176,7 +176,7 @@ resolution (below), not of this layer.
|
||||
| render passes | first `gl_renderer_pass_*` call in a frame is a sync point; the rest of that frame is synchronous. Recommended: leave `render_thread` off with the frame-rate mod |
|
||||
| frame interpolation | ineligible (held) while enabled; not started when it is on at boot |
|
||||
| OpenXR | ineligible while a session is active |
|
||||
| frame generation | `[video] frame_generation`: in-between frames drawn by the render thread from recorded lists, docs/FRAME_GENERATION.md |
|
||||
| Smooth motion (frame generation) | `[video] frame_generation`: in-between frames drawn by the render thread from recorded lists, docs/FRAME_GENERATION.md |
|
||||
| native-wide / widescreen | recorded; tags, latch and wide-surface mirror as above |
|
||||
| internal resolution changes | `gr_set_scale` and every resolution entry point are sync points; dynamic-resolution level steps are recorded (below) |
|
||||
| screenshots / debug captures | `screenshot*` sync; `present_shot` is fulfilled on the render thread |
|
||||
|
||||
@@ -10419,7 +10419,7 @@ static void handle_render_thread(int id, const char *json)
|
||||
send_fmt("{\"id\":%d,\"ok\":true,%s}", id, buf[0] ? buf : "\"active\":0");
|
||||
}
|
||||
|
||||
/* Frame generation ([video] frame_generation, docs/FRAME_GENERATION.md):
|
||||
/* Smooth motion (frame generation; [video] frame_generation, docs/FRAME_GENERATION.md):
|
||||
* {"cmd":"frame_gen"} -> enabled, active, generated / real presents, flips,
|
||||
* the last plan (in-between frames per game frame, display slots), costs,
|
||||
* match counts, breaker. Not a sync point (render-thread counters, racy). */
|
||||
|
||||
@@ -9236,7 +9236,7 @@ static void render_thread_vblank(void) {
|
||||
g_render_thread_frames);
|
||||
if (g_frame_generation) {
|
||||
gl_renderer_set_frame_generation(1);
|
||||
std::fprintf(stdout, "psxrecomp: frame generation on (render thread, "
|
||||
std::fprintf(stdout, "psxrecomp: Smooth motion (frame generation) on (render thread, "
|
||||
"from surplus only)\n");
|
||||
}
|
||||
} else {
|
||||
@@ -9244,7 +9244,7 @@ static void render_thread_vblank(void) {
|
||||
"(needs the OpenGL backend without netplay, frame "
|
||||
"interpolation or a 24-bit display)\n");
|
||||
if (g_frame_generation)
|
||||
std::fprintf(stdout, "psxrecomp: frame generation needs the render thread; off\n");
|
||||
std::fprintf(stdout, "psxrecomp: Smooth motion (frame generation) needs the render thread; off\n");
|
||||
}
|
||||
std::fflush(stdout);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user