Wie produziert eine Grafikkarte ein Bild?

CaTFaN!

Pixelschubser
Registriert
Dez. 2008
Beiträge
14.765
Moin.

Diese Frage beschäftigt mich schon seit längeren...
Mir fehlt es im Moment an Vorstellungsvermögen, wie das klappt. Würde daher gerne mal erklärt bekommen wie ein Bild von einer Platine aus über Transistoren, Spulen, Kondensatoren usw. entsteht und an einem Monitor weitergegeben wird?

Hat jemand ein Link dazu, bzw. ist bereit, dies irgendwie zu erklären? :D

Ich bin ja nicht auf den Kopf gefallen und kenne mich gut mit Elektronik und Technik aus, dieses jedoch blieb mir bis jetzt verschwiegen ;)
 
Muss man sich per Wikipedia doch eigentlich nur die Funktionen LED, LCD, Plasma, CRT durchlesen.
Das Bild selber entsteht ja in der Grafikkarte und wird halt per Kabel ausgegeben.

lg
fire
 
Magie! :)

Nein, im Ernst (wobei "Magie" gar nicht mal so grundfalsch ist): Ich melde auch Interesse an.

@firexs

"Das Bild selber entsteht ja in der Grafikkarte" - Genau diese Entstehung ist, glaube ich, der Gegenstand der Frage.
 
google hilft oder http://de.wikipedia.org/wiki/Grafikkarte

wenn du dich mit elektronik auskennst warum scheitert es dann bei der grafikkarte?

das eine cpu zur berechnung des alltäglichen pc lebens zuständig ist weisst du aber oder???

eine graka tut nix anderes sie berechnet lediglich die grafik. mittlerweile kann man grakas aber auch zur berechnung einsetzen dank cuda etc kann man damit auch bruteforcen zb was schneller geht als mit einer cpu
 
"Das Bild selber entsteht ja in der Grafikkarte" - Genau diese Entstehung ist, glaube ich, der Gegenstand der Frage.

Ja, darum soll es gehen ;) Wie erzeugt man durch Strom, der durch Schaltungen, Kondensatoren, Spulen und Transistoren fließt ein Bild in der Grafikkarte, welches dann ausgegeben werden kann?

Den Artikel bei Wikipedia habe ich mir natürlich schon mal durchgelesen, da wird diese Frage allerdings nicht beantwortet. Hier haben mich wohl einige falsch verstanden...
 
Zuletzt bearbeitet:
FrEaK2000 schrieb:
Ja, darum soll es gehen ;)

Den Artikel bei Wikipedia habe ich mir natürlich schon mal durchgelesen, da wird diese Frage allerdings nicht beantwortet.


Siehe mein Comment, der Wikipedia-Artikel ist Müll!

Da steht über die Funktionsweise nämlich = NULL!


So long...
 
Rein technisch gesehen ist das gar kein Hexenwerk...
Wenn das Bild ausgegeben werden soll, errechnet die Karte die Informationen, die an den Monitor gesendet werden... dabei werden die Farbinformationen so geschickt, dass der Monitor für jedes seiner Pixel einen wahrscheinlichen Bereich bekommt, dem es zugeordnet ist. Dann ist es nur noch eine Frage, wie der Bildschirm die Farbe interpretiert und danach schaltet er die entsprechenden Farbkanäle in dem jeweiligen Pixel frei um die Farbe zu mischen oder zum Beispiel alle Farbkanäle um weiß zu erhalten.

Das Ganze ist natürlich extrem grob, was damit zusammenhängt, dass eben nen CRT da bestimmte Dinge anders macht als ein TFT und es einen Unterschied macht, ob man native Auflösung verwendet oder nicht... Wichtig ist nur, dass dem einen Pixel egal ist, was das andere macht und das der Monitor selbst dafür zuständig ist, das Bild anzupassen, wenn die Auflösung nicht stimmt...
 
Das ist dann doch etwas sehr kompliziert für einen Post im Computerbase-Forum.

Streng genommen erstellt ein Renderprogramm ein Bild, zerlegt es in Bildpunkte, diese wiederum in Farbinformationen und schickt diese in Form von 1 und 0 an den Monitor, der daraus das Bild zaubert.
Aber natürlich gibts da noch zig Zwischenstationen und Varianten die man vielleicht in einer umfangreichen Arbeit erläutern kann, aber sicherlich nicht hier.
 
FrEaK2000 schrieb:
Mir fehlt es im Moment an Vorstellungsvermögen, wie das klappt.
Na dann denk mal über Pfingsten daran, wie die ganz tollen Dinge durch die Luft fliegen, nur über Funk, aber alles kommt heil an. Und erst beim Telefon. Einfach reinsprechen, und andere hören das... :p
 
Das ist dann doch etwas sehr kompliziert für einen Post im Computerbase-Forum.

Das glaube ich jetzt allerdings auch, schade ;)

Weiterhin schade, dass die Frage von einigen nicht Ernst genommen wird...
 
FrEaK2000 schrieb:
Ja, darum soll es gehen ;) Wie erzeugt man durch Strom, der durch Schaltungen, Kondensatoren, Spulen und Transistoren fließt ein Bild in der Grafikkarte, welches dann ausgegeben werden kann?

Der Prozessor berechnet die Bilder und legt sie in den Bildspeicher. Über den Bildspeicher wird das Bild dann ausgegeben. Mehr ist das nicht. Alles andere auf Grafikkarte dient nur um Schnittstellen und Leistung zur Berechnung zu Verfügung zu stellen, hat aber mit der Bildberechnung nichts zu tun.
 
@FrEaK2000;

Doch, ich nehme die Frage ernst, aber es gibt in meinen Augen wirklich größere Phänomene. ;)
 
Ja, das mag sein ;)
Trotzdem eine mmn wissenswerte Frage, die aber wohl schwerer zu erklären ist, als ich dachte :D
 
es ist keine frage der technik, sondern der mathematik ..
ein bild wird berechnet! .. du solltest dich alse wenn damit beschäftigen wie ein bild berechnet wird ..
wenn du das hast verstehst du auch was ein shader auf einem gpu kern macht
 
Ich mach mal nen kleinen Anfang - so puzzeln wir das schon zusammen ;)

05061911.gif

Quelle: http://www.elektronik-kompendium.de/

Hier sieht man sehr schön, die Grundkomponenten einer Grafikkarte.

Die wichtigste Einheit ist sicherlich die GPU (GraphicsProcessingUnit), das Herz der Karte. Das Die Darstellung beginnt quasi in der Software, z.B. einem Spiel - so arbeitet das Spiel nun seinen Grafikcode ab und schickt Befehle zum Rendern eines Pixels via Treiber nun an die GPU.

Dort worden Pixel über die sogenannten Pixel Pipelines einer nach dem anderen (1by1) verarbeitet - je mehr Pipelines, desto mehr Schritte können parallel laufen. Darüber hinaus stehen der GPU noch sogenannte "Shader" zur Verfügung. Einfach ausgedrückt sind Shader Einheiten, welche Pixel in Farbe und ein Objekt in geometrischer Form verändern können - Besonders bei Effektgestaltung werden die Shader gefordert.

Während der ganzen Pixelbearbeitung, steht der GPU & Co VRAM, also Video-/Grafikspeicher zur Verfügung - GPU und Speicher sind dabei über ein Businterface (quasi die Datenautobahn) mit dem Speichercontroller verbunden. Der Speicher-Controller selbst steuert den Speicherzugriff auf die Register und Zellen im Speicher (Soll gelesen oder geschrieben werden, in welche Zelle soll die Information bzw. wo steht die Information, die wir brauchen).

So, ist der ganze Pixel zu Ende "gerendert" soll er auf den Bildschirm. Zumindest bei Analogen Anschlusstechniken zum Monitor, wird noch der RAMDAC hinzugeschaltet (daher auch ein direkter und indirekter Weg von der GPU zum "Ausgang").

DAC steht für "Digital->Analog-Konverter": Da der Computer ja nur mit digitalen Zuständen 0 und 1 arbeitet, müssen diese über den RAMDAC wieder in elektrische Signale übersetzt werden, damit das Bild an einem analog angeschlossenen Monitor dargestellt werden kann. Seit DVI und jetzt überwiegend HDMI, werden die Bits und Bytes direkt aus dem Framebuffer (ein Bildpuffer) über die jeweilige Schnittstelle (digital) an den Monitor geliefert.

Das Bild am Monitor wird in Zeilen unterteilt und auch Pixel für Pixel, zeilenweise aufgebaut. Besonders bei Röhrenmonitoren war das ganze schön zu erkennen, wenn man diese einmal mit einer Kamera abgelichtet hat - ein Teil des Bildes war schon aufgebaut, der Rest noch "schwarz". Für unser träges Auge aber nicht live zu erkennen.

Anyway - der Monitor gibt darüber hinaus über die "Bildwiederholfrequenz" vor, wie oft er ein Bild pro Sekunde komplett erneuert darstellen kann. Ein bei TFTs vorliegender Standardwert ist z.B. 60Hz. Das heißt 60 mal pro Sekunde muss die Grafikkarte alle Pixel einer "Szene / eines Bildes" abrufen, verarbeiten und an den Monitor schicken, welcher dann zeilenweise ebenfalls versucht, 60 mal pro Sekunde (60Hz) das Bild darzustellen.

Bei Leistungsstarken System ist es oft so, dass die Grafikkarte weitaus mehr, als 60 Bilder pro Sekunde (engl. FPS (Frames Per Second)) rendern und senden kann. Dies führt nicht selten zu sogenannten "Tearing". Dabei werden die überschüssing Bilder (der Monitor kann ja in seiner festgelegten Frequenz nicht mehr als 60 darstellen) abgeschnitten, was sich visuell leider bemerkbar macht - es entstehen horizontale Risse auf dem Schirm, welche besonders bei Links-/Rechtsschwenks auffallen.

Diesem Übel setzt man Vsync entgegen: Vertical Synchronisation.

VSync soll dafür sorgen, dass das Timing zwischen Grafikkarte und Monitor im Lot ist. Die Karte wartet so gesehen, die Kapazität des Monitors genau ab, so dass keine überberechneten Bilder mehr abgeschnitten werden müssen bzw. überhaupt die Karte verlassen. Sie rendert dann 1:1 mit dem Monitor.

Sofern genug Leistung vorhanden ist, sorgt das für ein "Butterweiches" Erlebnis auf dem Schirm - bricht es ein, schnellen die FPS ganz schnell nach unten - auch schwammige Maussteuerung ist ein Nebeneffekt von VSync in diesem Moment.

So - das sollte erstmal reichen - und während ich getippt habe, sind nicht hoffentlich schon eine Fantastillion ähnlicher Posts entstanden ;) Ansonsten - doppelt hält besser ^^

:edit: okay okay, das nächste Mal reservier ich mich den Post. Darn!

P.S: Nein, die CPU berechnet die Bilder nicht - dafür ist sie viel zu langsam, weil sie nicht die Parallelleistung einer GPU heranreicht - denn genau dafür ist die ja da ;)
 
Zuletzt bearbeitet:
Na das sind doch immerhin schon ein paar verwertbare Informationen! Werds mir gleich mal alles durchlesen, danke soweit ersteinmal ;)
 
Zurück
Oben