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