This is not a template, just a demonstration. Functionality may change dramatically in any future release (if any; let me know if you guys enjoy this kind of project) and will almost certainly not be compatible with previous releases.
NOTE: Recordings are overwritten. Also, do yourself a favour and don’t playback the previous recording while you are recording the screen, since variables are reused.
You’re absolutely correct. However I merely chose a Canvas to show that changes are indeed recorded by Rekorder. It will work with whatever is on the screen (barring some components like Circular Progress Bar, which vanish magically).
Something to note: Rekorder doesn’t need the Canvas; it’s just a way to create large noticeable changes between subsequent frames. The actual Recording would happen irrespective of what components are being shown.
Thought I would have a play with this and built this up over on AppInventor, using @Taifun 's Screenshot extension. Took a different approach and used a clock to fire the screenshots (the main reason being when I ran your blocks in my genymotion emulator I was getting 60 fps!), added a timer selector, and some stats after stopping. I also added a delete images, to help clean up the sdcard Uploaded to Kodular and it works just as well. I am finding on devices I am getting between 4.5 and 7 fps, would like to see it up nearer 10 but the shotter just can’t go any quicker!
Screen Rekorder’s first prototype actually used a Timer to lock FPS at 25. I had to implement VRR to improve the stability.
I’m intrigued by your test results to say the least (it’s GREAT to see others join my outlandish projects! ) and will see what framerates I get on Android Studio. Btw Screen Rekorder R2 has an Average FPS meter.
A Canvas Recorder is infinitely more simple (and efficient) than a Screen Recorder. You can have basically 100% efficiency on a Canvas Recorder, due to the different implementation. A Screen Recorder though… Oof.
Btw, A Pixel 3 VM (API 29) on the Android Studio Emulator bags me a whopping 5 FPS (on a decent laptop mind you), so I’m guessing GenyMotion has some serious optimization. Too bad it has no free version.