Repository navigation
Avoid redraws for event-loop wake notifications - #89
Conversation
|
@Buegel26 could you checkout this PR and make sure the rendering remains good? This works on the previous fixes but also fixes event efficiency. |
|
BTW: sorry for the delays in reacting sometimes... you are incredibly fast. And inform me when I starting to annoy you with issues :-) |
Excellent! That means the siwin fix works which simplifies event handling and drawing refreshes.
Nope just that. Making sure previous rendering glitches didn’t come back. |
No worries about that! I appreciate the issues. lol yeah been a bit hyper focused lately on it lately.. Want to get it so I can use it for work. Thanks for testing, it really helps. |
Problem
Merenda treated every event-loop activity result as a reason to redraw every visible window. Siwin uses the same activity result for native input and event-loop wake notifications, so periodic worker traffic caused unchanged frames to be presented repeatedly.
Change
pollEventsandwaitEventsonRender, and native damage behaviorSiwin now schedules
onRenderfor X11Exposeand damaged WinAPIWM_PAINTevents, while wake notifications and unrelated native events leave clean windows untouched.Validation
atlas-run tests tests/integrations/nativewindowrepaint.nim -- --hints:off --warnings:offnim check --os:linux --hints:off --warnings:off --errorMax:3 tests/integrations/nativewindowrepaint.nimnim check --os:windows -d:figdraw.opengl --hints:off --warnings:off --errorMax:3 tests/integrations/nativewindowrepaint.nimThe full suites are being run separately as requested.