[BUG] Screen Refresh Optimizations May not Work as Intended #25

Closed
opened 2023-04-05 23:15:25 -03:00 by ZAdamMac · 2 comments
ZAdamMac commented 2023-04-05 23:15:25 -03:00 (Migrated from github.com)

During a livestream on patcharcana on April 5, 2023 it was noticed that the menu bars top and bottom of the screen are being redrawn on every frame.

This is considerably overtaxing the system; while the rendering is probably minor it means SPI traffic is being sent that doesn't need to be sent. Furthermore this was thought to be corrected several versions of the firmware ago.

During a livestream on patcharcana on April 5, 2023 it was noticed that the menu bars top and bottom of the screen are being redrawn on every frame. This is considerably overtaxing the system; while the rendering is probably minor it means SPI traffic is being sent that doesn't need to be sent. Furthermore this was thought to be corrected several versions of the firmware ago.
ZAdamMac commented 2023-04-19 20:14:58 -03:00 (Migrated from github.com)

Low priority fix; current impact on performance is negligible and we'd have to run some benchmarks to see if the fix is ACTUALLY faster.

Low priority fix; current impact on performance is negligible and we'd have to run some benchmarks to see if the fix is ACTUALLY faster.
ZAdamMac commented 2023-06-19 22:01:48 -03:00 (Migrated from github.com)

This is not actually happening. If there are still issues in the refresh rate, they aren't coming from the display_frame//previous_frame comparison not working correctly. It might simply be the case that that wastes more cycles than it saves.

I've confirmed we're only sending certain lines by spying on the SPI bus directly, and that would only happen if the display functions were doing their jobs (otherwise, we'd send lines 0 through 128 every single time the screen refreshed).

This is not actually happening. If there are still issues in the refresh rate, they aren't coming from the display_frame//previous_frame comparison not working correctly. It might simply be the case that that wastes more cycles than it saves. I've confirmed we're only sending certain lines by spying on the SPI bus directly, and that would only happen if the display functions were doing their jobs (otherwise, we'd send lines 0 through 128 every single time the screen refreshed).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
zadammac/PETI#25
No description provided.