diff options
| author | gbc dev <gbc@localhost> | 2026-07-04 22:39:34 +0200 |
|---|---|---|
| committer | gbc dev <gbc@localhost> | 2026-07-04 22:39:34 +0200 |
| commit | 894ddbe9bcf2bbd1da3af0429b6ed9550c0d4ce3 (patch) | |
| tree | 4089a0c9bb2a1661f57564e3d2044fcb2df5d23e /src/render.h | |
| parent | docs: note mem_timing-2 passing (diff) | |
| download | sl0pboy-894ddbe9bcf2bbd1da3af0429b6ed9550c0d4ce3.tar.gz sl0pboy-894ddbe9bcf2bbd1da3af0429b6ed9550c0d4ce3.tar.xz sl0pboy-894ddbe9bcf2bbd1da3af0429b6ed9550c0d4ce3.zip | |
renderer: inter-frame diffing to minimize terminal output
Only cells that changed since the previous frame are redrawn, using cursor
positioning to skip unchanged runs. Static screens write nothing after the
first frame (~108x reduction on acid2). SIGWINCH forces a full repaint.
Verified pixel-exact against the framebuffer (11520/11520 cells, 0 mismatch).
Diffstat (limited to 'src/render.h')
| -rw-r--r-- | src/render.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/render.h b/src/render.h index 15f9cda..93ca32a 100644 --- a/src/render.h +++ b/src/render.h @@ -6,6 +6,7 @@ void term_init(void); void term_restore(void); void render_frame(GB *gb); +void render_force_full(void); // force a complete repaint next frame // Poll keyboard, update gb->buttons. Returns false if quit requested. bool input_poll(GB *gb); |
