Skip to content

Conversation

@Ottatop
Copy link
Contributor

@Ottatop Ottatop commented Aug 10, 2025

Currently, the tiny-skia renderer uses buffer damage to determine whether or not it should draw and present. This leads to artifacts like some button hovers failing to redraw the window:

damage-issue.mov

To fix the issue, the first commit in this PR additionally calculates damage since the last presented frame to make the determination.

This PR also changes the tiny-skia renderer to present with damage (2nd commit) now that we have the correct frame damage. I can split that off into a different PR if desired or drop it entirely if it's out of scope.

@hecrj hecrj force-pushed the tiny-skia/damage-fix branch 2 times, most recently from 784d5c9 to e79a7e3 Compare November 29, 2025 12:46
@hecrj hecrj changed the title Fix tiny-skia damage handling Fix buffer presentation in iced_tiny_skia Nov 29, 2025
@hecrj hecrj added this to the 0.14 milestone Nov 29, 2025
@hecrj hecrj added bug Something isn't working rendering fix labels Nov 29, 2025
Copy link
Member

@hecrj hecrj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

I'm unconvinced adding further frame damage calculation will be worth the cost.

We can fix the issue by skipping the redraw but still present the buffer.

@hecrj hecrj enabled auto-merge November 29, 2025 12:50
@hecrj hecrj force-pushed the tiny-skia/damage-fix branch 3 times, most recently from 81d358a to 403c766 Compare November 29, 2025 12:55
@hecrj hecrj force-pushed the tiny-skia/damage-fix branch from 403c766 to 5db08b9 Compare November 29, 2025 13:02
@hecrj hecrj merged commit f240e8a into iced-rs:master Nov 29, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working fix rendering

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants