Here is a workaround:
Open a new window (Window>new window)
Open a new view in that new window on your actual canvas (Window>new view>YOUR_CANVAS)
Set up the view as you wish and with a video recorder, record that krita window. You shouldn’t be forced to have it on top with a soft like OBS I guess.
Paint in the other window, move the canvas as you like etc…
Now you have full control on your rates.
Must be resource consuming though…
Personally, I like video recording in a single window better:
-Viewer can follow the canvas with you instead of guessing where you are making strokes (especially when they become small)
-So it’s way more immersive than just the magical feeling of seeing a painting appearing by its own
-You can show your setting for educational purpose or for the sake of sharing (your dockers, your popups, your brush settings and so much more)
There actually no limitation for this. Everything mostly depends on how capable your PC is :). That benchmark shows that 10FPS is reachable, but please keep in mind it was done on clear canvas with small amount of layers and no filters, so actual drawing/painting process may be slower.
I don’t mind of lowering restriction of 1 second to something like 100ms, need to think on how to make it clear for user and not too much complicated in implementation. I’m against of turning “recorder delay” to fractional, because it’s not really good as UX.
Also there is a notification for using PNG format on low delays, maybe adding similar one for < 1s JPG would make sense.
I think going to ms is going to be more confusing for people than decimals. Personally, I’d just go to FPS for the capture interval. 1 would be the same as it is now, 3 would be three times as many etc. However, this does mean that if the user wants a longer interval, you end up with 0.1 etc.
You can’t change the inputbox’s minimum from the rc, it must be done from Krita’s source code. I hacked the code to set the variable to be decimal instead of integer and change the minimum, which made it possible to lower the value of recorder/captureinterval=1.
Changing the variable to decimal is simple, and the inputbox will show “1.00 sec.”, “0.10 sec.”, etc. Though maybe a dropdown to change the units between sec. and ms would work better.