[Improvements] Improve And Optimize Kdenlive's Performance
So, with new features coming to Kdenlive, I think its time to think about getting Kdenlive up to Performance. For example, Kdenlive's Playback stutters is still which needs a fix. Improving the startup speed could be usefull, Realtime Playback needs improving and Reducing the Memory Usage needs to be fixed somehow. I think all this needs to be in top shape before 20.03. Kdenlive needs this in order to satisfy more users into using Kdenlive more. I have high hopes that Kdenlive will succeed.
There are several performance related things that can/should be done to improve current situation. Some of them in Kdenlive, some of them in MLT.
Current slowdowns in Kdenlive:
- Jobs are created with QtConcurrent::Map which doesn't support adjusting job priority. We could probably get faster jobs (audio/video thumbs) by launching command line apps with nice like Shotcut
- Drawing of audio thumbnails in timeline relies on not very efficient qml code that should be refactored
- Operations on groups of items in timeline are very slow because view and backend are refreshed with each item... to be reviewed
Improvments on MLT's side:
- Explore possible performance gain for timeline playbavk by using lower resolution playback. This will require adding percentage storage for animated rect parameters so that it behaves correctly
- Full GPU support - from ffmpeg to filters. This will require some infrastructural changes in MLT.