Skip to content

Detect major dirty rectangle overlap and refresh everything instead #10687

@tannewt

Description

@tannewt

From: https://forums.adafruit.com/viewtopic.php?p=1070425#p1070425

displayio has a slow performance case where overlapping dirty rectangles cause pixels to be recomputed more than once.

We could do merging or flattening of all the rectangles but that is complicated.

As a quick optimization, we could sum the areas of all of the dirty rectangles. If the number of dirty pixels is more than the screen itself, then it'd be faster to do a full refresh because it only does each pixel once.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions