Skip to content

Slow framerates on RPi (and micro:bit) #3

@CoreProduction

Description

@CoreProduction

Drawing text / graphics to the OLED on a Pi or micro:bit is much slower than with the Pico for two reasons:

  • it appears that smbus2 is streaming each byte out as a single i2c transaction, rather than grouping into multi-byte transactions
  • the framebuffer is handmade for Pi and micro:bit, with nested looping (very slow in python)

The outcome is that the Pico can support a high fps, while RPi and micro:bit experience single-digit fps.
A related CE forum topic

Proposed solutions:

  • port PiicoDev_Unified.py to use pigpio instead of smbus2. This is a major port that would not be backwards compatible
  • investigate using @viper functions for resource-intensive methods like text().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions