-
Notifications
You must be signed in to change notification settings - Fork 14
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
Framerate expectations? #2
Comments
GIF animations vary.
You appear to have been a GitHub member for some time. I am wary of websites with big GREEN buttons. Can you verify that this site is safe and which "download button" you used (and is safe) David. |
Hey David, thanks for your reply. The software I mentioned was merely for information and context, there is really no need for you to download it (my antivirus thinks it's safe though). Sorry if that came out wrong but I didn't mean to ask you to help me optimize a random gif :) I was only really asking what framerate I should be expecting on this hardware with the provided I also got the SD card reader to work on my board, so I'm almost all set! However, I'm still unable to get any gif to display from anything else than SPIFFS. On SD and from flash I'm only getting a white screen and I could use some guidance on how to debug it. Here are some serial logs I'm getting in each of the three modes : SPIFFS: both test gifs get displayed correctly - not sure why there is a 0 frames count on test2.gif
1Gb FAT SD: white screen but decoding seems to work, the timing seems correct when compared with SPIFFS
No SD; included gifs from flash: white screen, lots of lines get dropped from
Here are my test files (optimized and scaled for the 128x128 TFT): Lastly if you would like to check my edits in further detail, here's my current sketch. I mostly removed code for other boards in order to make it easier to parse for me, added some debug, and made small edits eg used Cheers, |
Sorry. I have been doing other things. I have not forgotten you. Both of your sample GIFs have substantial deltas. i.e. a lot of pixels change in each frame. My sample GIFs tend to have fairly small rectangles that change. David. |
Thanks David and no worries. Yes I am aware that these gifs are rather heavy. But that isn't related to the white screen issue I'm experiencing (otherwise your sample GIFs should display). Would you have any clue on what might be wrong that could cause the images to only display when reading from spiffs? |
I will come back to you. I have ESP32 and TFT_eSPI. I have ST7735 SPI. I have SPIFFS. I have your sample GIFs. David. |
ST7735 is showing corrupted pixels with TFT_eSPI GIFs display nicely from PROGMEM on a parallel ILI9225 with MCUFRIEND_kbv on a fast STM32. There is no SD on the ILI9225 display. I will rearrange the conditional libraries and target displays. Then I will investigate what is corrupting displays. The speed depends on LZW decoding the GIF data. David. |
From SD card:
From PROGMEM:
I appear to have slightly different printf() format. The mad_man looks a bit fast on ESP32. But it is not the correct speed. This is my problem. I am attempting 100 FPS (10ms) which is clearly not how the PC shows it. Both your mad_xxx examples avoid SKIP pixels. So would be good candidates for DMA. David. |
Thank you for investigating this David! So both SD and PROGMEM work for you with ST7735? Did you only rearrange the conditional libraries? Also note that I don't get corrupted pixels at all on mine, just a white screen. Thanks again for your help! |
I have made a dramatic improvement. The program structure was wrong. There are 3 main factors:
The ESP32 manages quite well with PROGMEM and SPIFFS. I will do some tidying up. And Sync to GitHub. David. |
Sounds like great news, thanks for the update. Looking forward to seeing the changes you made! Cheers, |
I have made some massive changes. I have put all the conditional TFT_libraries in one H file. 0xE8266 selects the appropriate TFT_eSPI whether ESP32 or ESP8266. If there is no SD card, it will display from PROGMEM. David. p.s. I strongly recommend that you Fork the project. Then we can see each other's code. |
Wow, it does work out of the box for me now from PROGMEM, and my test gifs play very fast! Your code is also much easier to parse with the conditional libraries now neatly separated in the H file. Congratulations! I still have a small issue: the SD card isn't being read. I think I need to clean up my libraries, I might have a conflict somewhere/not using the proper SD library. I'll post an update when I get it 100% working. And yes, I will likely fork your project once I've got everything working :) Here's the serial output I'm getting with PROGMEM (as fallback for SD):
And with SPIFFS:
Cheers, |
Hi there. After some fiddling I got this to work on this ESP32 board with 1.44" TFT (128x128) . It's using TFT_eSPI library. For some reason I got divides by zero in the loop where you compute some debug data, and also none of the gifs included in the .h files are displayed. However it works with SPIFFS which is good enough for now.
The provided sample bottom_128x128x17.gif decodes at ~38ms per frame, about 44% speed.
I created another 128x128 gif which I optimized with this software. It's based on a video so much heavier, about 680Kb. I also tried another one that weighted about 1.2Mb. Both decode at about 140ms per frame.
So my question is, is this about what to expect on this kind of hardware, or is there something wrong ?
Thanks !
The text was updated successfully, but these errors were encountered: