Bug 369080 - Git master:2016-09-19:Project profile management issues, and idea for massive display speed improvement
Summary: Git master:2016-09-19:Project profile management issues, and idea for massive...
Status: RESOLVED FIXED
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-19 21:33 UTC by Evert Vorster
Modified: 2020-02-10 05:52 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
fritzibaby: Brainstorm+


Attachments
Screen capture (2.97 MB, video/x-matroska)
2016-09-19 21:50 UTC, Evert Vorster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evert Vorster 2016-09-19 21:33:13 UTC
I already mentioned the massive speedups that can be realised if the preview window thinks the project is in a lower resolution. I will attach a video showing just how much of a speedup we are talking about. 

However, in making the video I stumbled on to another annoyance. How do I customize the list of profiles available to me? I, for instance, am in a place that only uses 25fps, so half the displayed profiles I don't use. On the other hand, I do use very low resolution projects from time to time to allow me to see what I am doing in real time while applying deep effects stacks. 

A toggle box next to each of the Project Profiles to either include or exclude the profiles from the short list that pops up when changing project profiles would be a very nice addition. 

Right, back to the speedup on the preview. 
Proxies work well, but for some reason the effects applied use the project resolution, even though they are being applied to a proxy in the preview. What would be awesome if we could make the preview window think that the project was at the Proxy resolution, we would get a massive speedup practically for free.

Reproducible: Always
Comment 1 Evert Vorster 2016-09-19 21:50:25 UTC
Created attachment 101190 [details]
Screen capture

This screen capture shows the hoops you have to jump through to select a resolution that is not on the list of approved presolutions.... 

It also shows just how much of a performance advantage you get when using a lower resolution for the project.
Comment 2 Wegwerf 2016-09-20 05:01:21 UTC
Evert, wouldn't the existing proxies technology achieve what you are aiming at using low resolution profiles?
Comment 3 Evert Vorster 2016-09-20 08:06:00 UTC
Wegwerf, please look at the video I attached to the ticket. 

As you can see, I am using proxies, at a very low resolution. When encountering a deep effects stack, the preview window performance slows down unacceptably. 

Changing nothing but the project resolution, the preview window now performs acceptably. This means that the preview window can be sped up massively by being tricked into using the proxy resolution rather than the project resolution, and this is my suggestion. ( And an old one at that, however, this is not what this ticket is about. )

In order for me to get some reasonable performance out of my system, I set project resolution to be the same as my proxy resolution, and then do all my edits, and then set it back to my desired output resolution before rendering. 

In changing the project resolution, I found it cumbersome to keep changing to a resolution that is not on the short list. I would like a way to pick my favorite resolutions from the list of resolutions that are already defined. That is what this ticket is about. 

Kind regards,
Evert
Comment 4 Wegwerf 2016-09-20 08:28:54 UTC
Evert, thanks for clarifying!
Comment 5 emohr 2019-09-25 15:17:24 UTC
Evert - On which Kdenlive version you made this screen grab? Looks like 18.12.

Intersting finding that the clips/proxy and effects are not proper scaled down in the timeline for playback.

Similar issue here: https://invent.kde.org/kde/kdenlive/issues/198. 

I think we discussed ones if we should do the playback view just on ½ or ¼ of the original size to speed up the playback.
Comment 6 farid 2019-11-13 02:50:36 UTC
Hi Evert, 

Would like to do some testing with your recomendations. The thing is I haven't seen any improvements... is there a performance improvement for you in the 19.08 series?
Comment 7 Jean-Baptiste Mardelle 2020-01-13 18:12:05 UTC
So it took a few years but the requirements for this were just implemented in MLT so get ready for that speed improvment :)
Comment 8 Jean-Baptiste Mardelle 2020-01-15 14:45:17 UTC
Monitor preview scaling is now implemented in git master (requires MLT from recent git or >= 6.20). You now have a menu in "Monitor > Preview Resolution" that allows you to work full resolution, 1/2 resolution, 1/4 or 1/8.

Feedback on performance is welcome
Comment 9 Bug Janitor Service 2020-01-30 04:33:13 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 10 Evert Vorster 2020-02-03 04:32:13 UTC
Hi there!

I am getting a build error when trying to build the master branch of kdenlive:

-----------------------snip---------------------
[  3%] Building C object src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/mediactrl.c.o
/data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/mediactrl.c: In function 'find_first_device':
/data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/mediactrl.c:355:5: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
  355 |     for (int i = 0; i < 32; i++) {
      |     ^~~
/data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/mediactrl.c:355:5: note: use option '-std=c99', '-std=gnu99', '-std=c11' or '-std=gnu11' to compile your code
make[2]: *** [src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/build.make:76: src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/mediactrl.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2267: src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
Error making: kdenlive-testing-git
Comment 11 farid 2020-02-04 19:28:35 UTC
(In reply to Evert Vorster from comment #10)
> Hi there!
> 
> I am getting a build error when trying to build the master branch of
> kdenlive:
> 
> -----------------------snip---------------------
> [  3%] Building C object
> src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/mediactrl.c.o
> /data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/
> mediactrl.c: In function 'find_first_device':
> /data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/
> mediactrl.c:355:5: error: 'for' loop initial declarations are only allowed
> in C99 or C11 mode
>   355 |     for (int i = 0; i < 32; i++) {
>       |     ^~~
> /data/OS/aur/kdenlive-testing-git/src/kdenlive/src/lib/external/media_ctrl/
> mediactrl.c:355:5: note: use option '-std=c99', '-std=gnu99', '-std=c11' or
> '-std=gnu11' to compile your code
> make[2]: ***
> [src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/build.make:76:
> src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/mediactrl.c.o] Error 1
> make[1]: *** [CMakeFiles/Makefile2:2267:
> src/lib/external/media_ctrl/CMakeFiles/media_ctrl.dir/all] Error 2
> make: *** [Makefile:130: all] Error 2
> ==> ERROR: A failure occurred in build().
>     Aborting...
> Error making: kdenlive-testing-git


Hi Evert, 

Have you seen this: https://community.kde.org/Kdenlive/Development#Building_Kdenlive 

Try deleting CMakeCache.txt and run cmake again.

Hope that helps...
Comment 12 Evert Vorster 2020-02-10 05:18:40 UTC
Ah, I was building the wrong branch of Kdenlive, my fault. I'll go test this feature now, and finally close this bug!
Comment 13 Evert Vorster 2020-02-10 05:52:13 UTC
Right, I finally built kdenlive. I have to say, a very, very clean build with almost no error messages thrown by the compiler. 

The improvement of this scaling of the preview window is immediate and impressive. Thanks. I can now use 4K drone footage without proxies, defish and levels adjust on the fly, too. (Pun intended)

I'll go ahead and close this bug, now. There are some issues with the preview monitor scaling, but I will report that separately.