-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Display updates extremly slow after PR#9344 #9359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Does your code include any |
Also, as a temporary workaround, you can pair your board to any bluetooth device. |
No
and loading an image from SD:
I have tested this with all builds from https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bin/sunton_esp32_2432S032C/de_DE/, and the problem pops up with the latest one (PR9344 from 2024-06-18). So I was looking at the PR and what had changed, and I saw your comment in the PR. Maybe this is unrelated to your "IO clock slowing down", but it definitely feels like it. The program just feels like it is running at maybe half or one-third speed. But I guess it is busy with some other stuff in the background maybe. |
I redid some task-blocking-related stuff in #9374, which has not yet been merged. Would you mind testing with an artifact from that PR, to see if this problem still exists? Look for the latest artifacts on that PR (it's rebuilding now). |
I added some instrumentation to my tests and here are the results (code as posted above, full code here: https://github.com/bablokb/circuitpython-examples/blob/master/sunton-3.2/main.py).
So it is not only a displayio problem: everything runs too slow, even a simple |
@bablokb Thanks for the instrumentation. This is a plain ESP32 board, is that right? Could you make a cut-down example that shows slower |
EDIT: slightly revised example and more observations. I ended up with an extremely simple test case: import time
while True:
start = time.monotonic()
for i in range(100):
time.sleep(0.010)
print(time.monotonic() - start)
time.sleep(1) On a QT Py ESP32 on 9.1.0-beta.3, each range loop runs in about a second, as expected. on an ESP32 running Another observation is that the slow loop only happens after restarting the VM (ctrl-C, then ctrl-D). After a hard reset, the timing is normal (about 1 second). Another way to see delays is simply to paste the line a = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" into the REPL. In older versions, the paste in instantaneous. On the most recent build, you can see delays between the characters. I see this only on ESP32. ESP32-C3, ESP32-S2, and ESP32-S3 are fine. |
Originally posted by @bill88t in #9344 (comment)
Using the (currently newest) PR#9344 build (from S3-bucket, board: sunton_esp32_2432S032C with integrated ST7789 display), all display updates are very slow.
The text was updated successfully, but these errors were encountered: