Warum kann der VLC Player nicht mit der Dekodierung eines Videos mithalten, wenn ein anderes Programm eine CPU verwendet, obwohl es eine niedrige Priorität hat?

410
EM0

Ich führe ffmpeg unter Windows 7 aus, um einige Videos in x265 umzucodieren. Während es läuft, möchte ich einige andere Videos im VLC-Player (auch x265-codiert, also das Entschlüsseln dieser Videos nimmt viel CPU). Ich finde, dass der VLC-Player ihn nicht rechtzeitig decodieren kann - das Video bleibt ständig stehen und der größte Teil des Bildschirms ist grau. Es ist völlig unübertrefflich. (Die Videos laufen gut, wenn ffmpeg nicht läuft.)

Der ffmpeg-Prozess verwendet die gesamte verfügbare CPU-Zeit, läuft jedoch mit der Priorität "Leerlauf". VLC Player läuft mit "normaler" Priorität (ich habe sogar "hoch" versucht). Ich dachte, dies würde es dem VLC-Player ermöglichen, die gesamte CPU-Zeit zu nutzen, die er benötigt, und nur die verbleibende Zeit sollte zum Prioritätsprozess "Leerlauf" gehen. Warum passiert das nicht?

0
Warum sind Sie so sicher, dass es sich um ein CPU-Problem handelt? Die Videocodierung und -decodierung wird normalerweise auf einem ordnungsgemäß konfigurierten PC an die GPU übertragen. sawdust vor 6 Jahren 1
Siehe https://docs.microsoft.com/de-de/windows-hardware/drivers/display/gpu-preemption sawdust vor 6 Jahren 0
Interessanter Punkt! Ich ging davon aus, dass es sich um ein CPU-Problem handelt, da ffmpeg so viel CPU wie möglich benötigt und der VLC Player auch ziemlich viel (~ 45%). Auch die IO-Priorität machte keinen Unterschied. Laut https://superuser.com/questions/516948/change-gpu-priority-of-a-process-under-windows gibt es keine Möglichkeit, die GPU-Priorität festzulegen, also bin ich dann geschraubt? Ich kann grundsätzlich keine x265-Videos gleichzeitig codieren und anzeigen? EM0 vor 6 Jahren 0

0 Antworten auf die Frage