I'm back with another call for help.

I have created a small application that uses the two windows approach https://gitlab.com/g-fb/mpv-2-windows

The good part is that the playback is smooth even on my low end machine.
The bad part is that my implementation is terrible:
- the window playing the video stays on top of all windows,
  instead of only the window  from the same application
- resizing on my Ryzen 2600 with Nvidia 750TI system is very, very stuttery,
  but is smooth on my Intel i5-4590 with HD Graphics 4600 system
- moving the windows is also bad, the video playing window doesn't move
  until the other window (that is actually being moved) finishes the move

I need help with a proper implementation:
- video playing window only stays on top of it's sibling window
- moving windows at the same time
- better resizing on Nvidia, if possible

If someone could create a sample app would be great, if not at least some pointers on how to achieve the above are also good, since I don't even know how/what to search for for this use case.

Thank you.


On 15.12.2021 21:24, George Florea Banus wrote:
Hello,

I'm having some problems with playback stuttering
on older and/or less powerful hardware (Intel i5-4590 3.30GHz, HD Graphics 4600),
while in mpv (and VLC too) it plays smoothly.
I'm rendering the video in a QOpenGLFramebufferObject (https://invent.kde.org/multimedia/haruna/-/blob/master/src/mpvobject.cpp).

I'm thinking the problem could be what Jean-Baptiste Kempf mentions in a talk about VLC and Qt. The important part starts at 40:36 and ends at 42:30 https://youtu.be/P1qMAupb2_Y?t=2436
Basically he says that Qt's rendering loop "doesn't work for video".
VLC (the new QML version) works around this by having two windows:
a native window for the video and one for QML and making them act as one.

I would like to avoid that.
Is there anything I can do to so that the playback is on par with mpv?

----

Here is a report I made on mpv's issue tracker with more details https://github.com/mpv-player/mpv/issues/9417

Reply via email to