PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CUDA für Adobe Premiere Pro CS5


nassa
2011-04-03, 18:11:01
Hallo,

bei mir scheint die CUDA Funktion von Adobe Premiere Pro nicht zu funktionieren.

Ich habe die Karte (GTX 470) so wie in diversen Tutorials beschrieben der cuda_supported_cards.txt hinzugefügt und auch im Treiber die Einstellung "Multi-Display-Support" eingestellt. Wenn ich jetzt in der Sequenzeinstellung/Projekteinstellung die Mercury Playback Enginge auf GPU Beschleunigung stelle, dann habe ich irgendwie keinen Performancegewinn z.b. beim Vorschauvideo.

Die Grafikkarte wird auch nur minimal ausgelastet. Vlt 2 Prozent oder so. Auch der Videospeicher füllt sich nicht.


Wie kann ich das aktivieren? Bzw. woran könnte es liegen?


Immer wenn ich ein im Vorschaumodus oder auch im Quellmonitor starte gehen ganz kurz die fps auf den originalen Wert (30 fps) und fallen dann meist auf so ca. 12 herunter.

Treiber ist der aktuellste. Premiere Pro ebenfalls. Laut der GPUSniffer.exe wird meine Graka auch unterstützt/bzw. ist aktiviert (#0 supported)


Woran liegt das?


Edit 2: habe gerade festgestellt, dass ältere Videos (Xvid, usw.) also nicht HD, super die GPU nutzen. Kann es sein, dass HD-Material nur nicht unterstützt wird?

Gast
2011-04-03, 20:24:22
Wenn GPU-Sniffer anzeigt, dass die Karte unterstützt wird hast du sie mal richtig hinzugefügt.

Als nächstes musst du wissen was überhaupt von der GPU beschleunigt wird.

CUDA beschleunigt nur das Rendering des Videos. En- und Decoder sind reine CPU-Codecs und werden von CUDA nicht beschleunigt.

Auch beim Rendering gibt es verschiedene Einschränkungen, was von CUDA beschleunigt wird und was nicht.

Beschleunigt werden praktisch alle Animationen/Transformationen die du unter den "Effekteinstellungen" eines Clips standardmäßig vornehmen kannst. Zusätzlich werden alle Effekte die unter "Beschleunigte Effekte" zusammengefasst sind von CUDA beschleunigt.

Wenn du einen Effekt anwendest der nicht zu den "Beschleunigten Effekten" gehört kann dieser Teil des Videoclips nicht mehr beschleunigt werden.

Es gibt auch ein Limit an Videoebenen die du übereinander legen kannst bevor die CUDA-Beschleunigung nicht mehr funktioniert, ich weiß jetzt nicht genau wie viel, aber es dürften so um die 5 sein.

Generell kannst du sehr leicht feststellen ob und welche Teile deines Videos von CUDA beschleunigt werden können.

In der Timeline siehst du unter der Zeitleiste einen waagrechten farbigen Strich.

Dieser kann rot gelb oder grün sein.

Grün bedeutet dabei es wurde bereits eine Vorschau gerendert (unabhängig ob mit oder ohne CUDA). Bei der Wiedergabe wird dann einfach die Vorschaudatei abgespielt, was weder CPU noch GPU großartig belastet, auch beim Rendern des fertigen Videos kann die Vorschaudatei verwendet werden.

Gelb heißt keine Vorschaudatei vorhanden, aber der Clip-teil wird mit CUDA beschleunigt, sowohl bei der Wiedergabe als auch beim fertigen Rendern.

Rot heißt keine Vorschaudatei vorhanden, und der Teil des Clips kann auch nicht mit CUDA beschleunigt werden. In dem Fall muss die CPU alles alleine machen.

nassa
2011-04-03, 23:08:37
danke für die ausführliche Antwort. Das mit den Effekten ist mir schon aufgefallen. Die CUDA-fähigen sind auch mit so einem Symbol gekennzeichnet und wenn ich sie hinzufüge, dann wird die Renderleiste nur maximal gelb.
Aber warum ruckelt das Video (HD-Material) selbst an Stellen wo es nur gelb ist und keine Filter oder ähnliches drüber liegen? Also in der Vorschau meine ich. Ich dachte, dass die Graka per CUDA dafür sorgt, dass der (ohne Graka) nötige Vorrenderingprozess nun nicht mehr nötig ist...

Wie verhält sich das mit Mediaconcept Convert Suite 5.1 oder so ähnlich. Das Plugin soll ja per CUDA sogar den Encodingprozess beschleunigen...


Irgendwie habe ich nämlich bemerkt, dass alles was SD ist, mit entsprechender Graka-Auslastung auch super flüssig läuft und der Renderingprozess auch von 5:20 min auf 0:45 min gesunken ist. Aber das klappt alles nur mit SD-Material. Bei HD merke ich überhaupt nix von der CUDA Unterstützung.

Gast
2011-04-04, 11:33:49
Mit CUDA lassen sich natürlich auch HD-Clips beschleunigen.

Eine CUDA-Karte ersetzt allerdings keine schnelle CPU, erst mit einer schnellen CPU bringt CUDA wirklich viel.

Wenn die CPU zu langsam ist muss die Grafikkarte ständig warten und bringt dann auch nicht viel, ein schneller Quadcore sollte es schon mindestens sein.

Beschleunigt werden wie gesagt nur Effekte, Transformationen usw.
Wenn du beispielsweise einfach 5 Quellclips irgendwie übereinander legst und abspielen lässt hat die Grafikkarte nicht wirklich was zu tun und wenn alle Quellclips in FullHD sind kann es sein, dass die CPU einfach mit dem decoding (was wie gesagt nicht beschleunigt wird) nicht mehr rechtzeitig fertig wird. Wenn die Quellclips unkomprimiert vorliegen, kann es natürlich auch sein, dass die Festplatte die Daten nicht mehr rechtzeitig liefern kann.

Die GPU bekommt dann kaum Daten zum rechnen und ist dann natürlich auch kaum ausgelastet.

Generell kann die GPU nicht viel tun wenn du einfach mehrere Clips übereinander statisch abspielst. Was die GPU macht sind beispielsweise die Animationen wenn du einen Clip durchs Bild fahren lässt, oder den Clip während der Wiedergabe skalierst, drehst etc.
Auch Transparenzen werden beschleunigt.

All diese Dinge sind für GPUs allerdings ziemlich simple Dinge, weshalb du keine großartige Auslastung feststellen kannst.

Richtig fordernd wird es für die GPU wenn du beschleunigte Effekte anwendest.

Ein weiterer möglicher Flaschenhals könnte das PCIe-Interface sein. Ich weiß es zwar nicht wirklich aber ich denke, es werden jede Menge Daten zwischen GPU und CPU geschickt, "nur" PCIe 1.1 und/oder 8xPCIe könnten da denke ich schon bremsen.