Skip to content

Conversation

@tannewt
Copy link
Member

@tannewt tannewt commented May 22, 2019

This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.

This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(micropython#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

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

I haven't tried to understand this in detail, but the basic ideas make sense to me.

@tannewt tannewt requested a review from dhalbert May 22, 2019 22:02
Copy link
Member Author

@tannewt tannewt left a comment

Choose a reason for hiding this comment

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

Please don't merge this. There is an off-by-one error that is apparent with the quotes demo and I'm out of time before vacation. Will fix it up at the end of next week.

It caused the bottom and right edges to be one pixel short.
@tannewt
Copy link
Member Author

tannewt commented May 31, 2019

Ok, I fixed the off-by-one error. This should be good to go if Travis is happy.

@dhalbert dhalbert merged commit bcda5e1 into adafruit:master Jun 1, 2019
@tannewt tannewt deleted the get_area branch September 4, 2019 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants