Replies: 4 comments 3 replies
|
Thanks, I'll take a look over the next few days |
1 reply
|
On S3, rescaleImage() was significantly faster but the other mods had similar performance. |
2 replies
|
I tend not to use original esp32 now, either using esp32s3 (which I recommend for this app) or esp32c3 for lower performance apps. The S3 has single precision FPU h/w which would reduce performance deficit vs fixed point. Double is still software. |
0 replies
|
If you want to do a pull request let me know as I would need to update beforehand with some unpublished changes |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Overall, successful – my goal was to eliminate sluggish float calculations using fixed point, which were slow even on S3, eliminate ESP-heavy division operations and simplify loops overloaded with unnecessary work by making them more predictable for the compiler and cache. The changes were designed as in-place replacements of the original methods without additional dependencies. My ESP was able to be flashed and everything worked more or less responsively – although extensive testing is required, as I may have missed something.
https://github.com/JBarnaky/ESP32-CAM
Structure: 3 .cpp files (+ motionDetect.cpp, which I flashed) with unit tests and simple benchmarks, which I pre-tested in Visual Studio 2022 and on Win 11. The file name includes the name of the file and the refactored method itself, which comes after the commented block with the original implementation in the code (the redundant if checks at the very beginning can be removed). Perhaps my work will be useful to you.
Upd.
Added [motionDetect_checkMotion.cpp]
All reactions