use partial draw
This commit is contained in:
parent
bfa51c1439
commit
64c9177604
@ -176,8 +176,8 @@ class IT8951DisplayDriver:
|
||||
# Prepare image for e-ink
|
||||
prepared_image = self._prepare_image(image)
|
||||
|
||||
# Update frame buffer
|
||||
self.display.frame_buf = prepared_image
|
||||
# Update frame buffer using paste (more reliable than direct assignment)
|
||||
self.display.frame_buf.paste(prepared_image, (0, 0))
|
||||
|
||||
# Increment refresh counter
|
||||
self._refresh_count += 1
|
||||
@ -316,9 +316,15 @@ class IT8951DisplayDriver:
|
||||
if hasattr(self.display, 'epd') and self.auto_sleep:
|
||||
self.display.epd.run()
|
||||
|
||||
# Use partial update for efficiency
|
||||
# IT8951 library tracks what changed and only updates that region
|
||||
self.display.draw_partial(display_mode)
|
||||
# Use full refresh for INIT mode (clears ghosting) or first few refreshes
|
||||
# Use partial refresh for fast updates
|
||||
if display_mode == DisplayModes.INIT or self._refresh_count <= 2:
|
||||
# Full refresh - more reliable for initial displays
|
||||
self.display.draw_full(display_mode)
|
||||
else:
|
||||
# Partial update for efficiency
|
||||
# IT8951 library tracks what changed and only updates that region
|
||||
self.display.draw_partial(display_mode)
|
||||
|
||||
async def set_brightness(self, level: int) -> None:
|
||||
"""
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user