PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Codecs und GPU


(del)
2010-05-02, 12:41:09
Hi

An Flash 10.1 und h.264 denkend...

Kann mir jemand kurz erklären warum Spiele sich an eine API halten müßen um von einer GPU zu profitieren und Codecs im Treiber unterstützt werden müßen? Oder ist das nicht so? Wie läuft das genauer ab?

Danke und bis später.

Ganon
2010-05-02, 13:30:17
Weil das ein Extrapart der Grafikkarte macht und nicht der Grafikchip selbst.

deekey777
2010-05-02, 13:34:54
Auch für die Videodecoder gibt es eine Schnittstelle, damit diese über die GPU bzw. deren Videoprocessoren dekodiert werden.

Codec ist ein zusammengesetztes Wort aus Coder und Decoder.

sloth9
2010-05-03, 05:06:39
Auch für die Videodecoder gibt es eine Schnittstelle, damit diese über die GPU bzw. deren Videoprocessoren dekodiert werden.

Codec ist ein zusammengesetztes Wort aus Coder und Decoder.

In wie heisst die?
DXVA?

Gast
2010-05-03, 07:14:49
Kann mir jemand kurz erklären warum Spiele sich an eine API halten müßen um von einer GPU zu profitieren und Codecs im Treiber unterstützt werden müßen?.

Das müssen sie nicht, sofern SPECs und ausreichende Dokus existieren können die Spiele die Chips auch direkt verwenden, aber dann läuft es darauf hinaus wie früher zu Dos Zeiten bei den Soundkarten, als jede Soundkarte ihren eigenen Treiber im Spiel benötigte.

Abstrahierende APIs sind da heute schon eine deutlich bessere Methode.
Außerdem sparts Entwicklungsaufwand, da manche Funktionen nicht mehrmals in einzelnen Treibern implementiert werden müssen, sondern unter einer Codebasis vereinheitlicht werden können.

(del)
2010-05-03, 10:49:20
Ich weiß nicht, ob ich bereits schlauer geworden bin :frown:

Zool
2010-05-03, 11:55:03
Erst mit der großen Verbreitung von Win7 und der Verfügbarkeit von DirectX10 GPUs ist DXVA als Schnittstelle wirklich interessant geworden. Nominell gibt die Funktionalität von H264 Hardware-Dekoding schon seit Vista, aber die Entwickler sprangen halt nie darauf an.

Einfache iDCT-Funktionen gibt es seit Windows 2000 und DX7 und fanden in den APIs für VMR-7 und VMR-9 Videorendern z.B. bei PowerDVD und WinDVD Verwendung.


Leider tauchen erst jetzt mit Adobe-Flash-Plugin 10.1 und VLC 1.1 die wirklich ersten Massenanwendungen für GPU-Videobeschleunigung auf.

Die Funktionen gammeln aber schon seit Urzeiten in den diversen GPUs-Generationen rum und lagen brach.

Ganon
2010-05-03, 11:56:17
Ich weiß nicht, ob ich bereits schlauer geworden bin :frown:

Dann stell deine Frage genauer :D

Die API zur Videobeschleunigung ist im Prinzip nur "Hier hast du ein Videostream, das sollte dieses Videoformat sein, mach mal". Ergo braucht der Treiber nunmal Unterstützung für das entsprechende Videoformat (und auch ggf. Hardwaresupport dafür, logisch).

Ist beim Spiel ja auch nicht anders. Das sagt auch "Hier hast du Shadercode, ist diese Version, mach mal". Ohne Treibersupport passiert da auch nicht viel. ;)

Wenn du treiberunabhänig Videoformate auf der GPU dekodieren willst, musst du einen Codec mit Hilfe von OpenCL oder CUDA schreiben. Da du dort aber an der Videodekodierhardware der Grafikkarte vorbeiprogrammierst ist das natürlich alles andere als optimal und stromsparend auch nicht.