This setting is only available on Windows and Linux.
Shotcut uses OpenGL technology to draw its user interface and display video. OpenGL is typically implemented in the GPU of your computer and its driver in the operating system. These two pieces (Shotcut and the UI library it uses) and the OpenGL implementation need to communicate using a complex protocol. Sometimes, they do not communicate well and have compatibility or interoperability problems. Thus, there are some workarounds:
use only software using a library called Mesa 3D. While this is known to be very compatible, it is much slower since it is not hardware-accelerated.
on Windows, convert the OpenGL protocol to DirectX (Direct3D) using a library called ANGLE. While this is typically hardware-accelerated, Microsoft provides an automatic software fallback of its own called WARP.
If you choose Automatic, Shotcut’s UI library chooses one of the options based on the model of your GPU, and usually that is OpenGL. You can see what Shotcut is using by looking in View > Application Log… from the main menu. Then, after about 100 lines, look for the lines start with
Double-click any of them to set the Shotcut registry setting for Display Method to the corresponding value. This is very helpful if Shotcut is unable to startup because you changed it to an incompatible mode, or the default mode is incompatible.
That means it is using OpenGL. That should work fine. You do not need to install ANGLE to use it in Shotcut as it is bundled. And there should be no advantage to using it over OpenGL when it comes to NVIDIA, but I guess that GPU is somewhat old now and your mileage may vary.
Thank you! The amazing thing is that simple video player (Windows media player or FastStone Image Viewer) plays 2k7 or 4k videos smoothly, with CPU load about 10%, without any settings to select,while shotcut uses 100% CPU load and still stuttering the same vidos, from only 1 track, no effects and with 360p preview scaling. I wonder why such a big difference. GPU is NVIDIA Getforce GTX 760M and seconde one is Intel HD graphic 4600.
Preview scaling makes it slower for simple playback because you are giving it extra work (scaling). Shotcut does not do hardware decoding like a media player. You also need to ensure the Video Mode matches the video or again it has to scale. Automatic video mode will only avoid extra work like scaling if you are certain that you start by using that one video. Your computer is probably old and weak for working with (not simply playing) video over HD.
I tested again, ensuring matched video mode, with 2k7 60p footage. With preview scaling set to ‘360p’ it slows down to about 1/3 of real speed, longest stuttering is about 0.3 second, but at least somehow usable. Preview scalong ‘none’ worsens the stuttering. It takes 6 seconds for each frame (!) and mostly skipping frames. Of course I can’t avoid all scaling, since the player window is smaller than original.
There is 11,9 GB RAM, of which about 10.1 GB were free before starting Shotcut. While showing the the video, still 9,5 GB free. Can this be a hint for the problem?
CPU load is at 100% If a weak CPU would be the reason, it would have to work 6 x 60 times = 360 times faster to render smoothly? this seems impossible to acheive anyway.
Do I understand rightly that GPU is used for preview but not for the decoding during preview? (VLC player plays the same video in any window size with 60p, even while sharpening filter is active).
As of version 23.05 there is no Settings > Display Method on Windows and macOS. On Windows, it uses the Windows-native GPU technology Direct3D (unless that fails, then there is an automatic fallback to OpenGL). On macOS, it uses the macOS-native GPU technology Metal.