Skip to content

control: skip no-op display updates - #230

Merged
dingusdev merged 1 commit into
dingusdev:masterfrom
mihaip:upstream-control-draw-fb
Oct 1, 2026
Merged

dingusdev merged 1 commit into
dingusdev:masterfrom
mihaip:upstream-control-draw-fb

Conversation

@mihaip

@mihaip mihaip commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Makes both flavors of Control enable the draw_fb_is_dynamic optimization, which lets us skip SDL screen update when the the framebuffer content has not changed.

Improve BeOS PR1 booting on the 7300 from 15.8-46s to 13.9-14.2. The variability appears to be due to time spent in SDL_RenderPresent, per https://developer.apple.com/documentation/metal/onscreen-presentation this may block on macOS (with the Metal backend) until the next display refresh, and we were generating a lot more frames to present before.

Also improves smoothness of the BeOS GL Teapot demo (the displayed framerate does not change since the timer is driven by instruction cycles, which don't change).

Before After
BeOS.PR1.GL.Teapot.before.mp4
BeOS.PR1.GL.Teapot.after.-.small.mp4

For #35

Makes both flavors of Control enable the `draw_fb_is_dynamic` optimization,
which lets us skip SDL screen update when the the framebuffer content
has not changed.

Improve BeOS PR1 booting on the 7300 from 15.8-46s to 13.9-14.2. The
variability appears to be due to time spent in `SDL_RenderPresent`,
per https://developer.apple.com/documentation/metal/onscreen-presentation
this may block on macOS (with the Metal backend) until the next display
refresh, and we were generating a lot more frames to present before.

Also improves smoothness of the BeOS GL Teapot demo (the displayed
framerate does not change since the timer is driven by instruction
cycles, which don't change).
mihaip added a commit to mihaip/infinite-mac that referenced this pull request Oct 1, 2026
Includes dingusdev/dingusppc#230 which reduces the overhead of screen
updates on the 7300. It does not help as much for the Emscripten port
because we don't block on screen updates.

For #237 and #219
@dingusdev
dingusdev merged commit 13e02f7 into dingusdev:master Oct 1, 2026
7 checks passed
@mihaip
mihaip deleted the upstream-control-draw-fb branch October 1, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants