AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Funtionsweise Grafikkarte Monitor
Thema durchsuchen
Ansicht
Themen-Optionen

Funtionsweise Grafikkarte Monitor

Ein Thema von steppo · begonnen am 10. Mai 2007 · letzter Beitrag vom 24. Mai 2007
Antwort Antwort
Seite 1 von 3  1 23      
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:13
Hallo Leute,

kann mir jemand erklären, wie die Bilder in einer Grafikkarte vorgehalten werden, bevor sie an den Monitor gesendet werden.

Meine Vorstellung ist diese.
Bei einer Bildschirmwiederholfrequenz von 60 Hz wird der Monitor 60 mal pro sekunde aktualisiert. Das Bild kann sich aber in dieser Zeit aendern. Also müssten die anzuzeigenden Bilder irgendwo gespeichert werden, bevor sie von der Grafikkarte zur Darstellung an den Monitor gesendet werden.

Also praktisch wie ein Film.
60 Bilder die nacheinander angezeigt werden.

Ist diese Vorstellung richtig.

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Funtionsweise Netzwerkkarte Monitor

  Alt 10. Mai 2007, 21:16
Grunsätzlich ja, im Bildspeicher auch Framebuffer genannt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Funtionsweise Netzwerkkarte Monitor

  Alt 10. Mai 2007, 21:18
Hallo!

Was hat denn diese Frage bitte mit einer Netzwerkkarte zu tun (s. Thread-Titel) ?!?!?!

Eventuell wäre es nicht schlecht wenn Du noch sagen möchtest was das für Konsequenzen für Dich haben sollte? Was hast Du vor?

Liebe Grüsse,

SCRaT

[edit]
Ok, Titel wurde korrigiert. Hätte mich ja auch gewundert
[/edit]
Michael Kübler
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:25
Entschuldige bitte, ich meinte natürlich Grafikkarte. Werde es sofort ändern!

Mein Ziel wäre es dann den Framebuffer auszulesen, das heißt mir jedes Bild einzeln anzusehen, wenn dies möglich ist!

Und damit komme ich zu meiner nächsten Frage. Ich gehe davon aus, dass ich auf die Grafikkarte direkt zugreifen muß, um den Framebuffer auszulesen. Das heißt, es gibt keine Möglichkeit von Delphi aus dieses Vorhaben zu realisieren.

Ist diese Annahme richtig?

Wie frage ich den Framebuffer ab?

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:36
Hallo,
Zitat von steppo:
Und damit komme ich zu meiner nächsten Frage. Ich gehe davon aus, dass ich auf die Grafikkarte direkt zugreifen muß, um den Framebuffer auszulesen. Das heißt, es gibt keine Möglichkeit von Delphi aus dieses Vorhaben zu realisieren.

Ist diese Annahme richtig?
Ja.

Zitat von steppo:
Wie frage ich den Framebuffer ab?
Da Du dafür einen direkten Zugriff auf die Hardware benötigst, geht das (unter Windows) nur mit einem Treiber.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:40
Zitat von steppo:
Mein Ziel wäre es dann den Framebuffer auszulesen, das heißt mir jedes Bild einzeln anzusehen, wenn dies möglich ist!
Es gibt nur ein Bild. Die Änderungen werden entsprechend in diesem Bild vorgenommen. Davon unabhängig arbeit ein D/A Wandler (RAMDAC) mit einer Frequenz (abhängig von Auflösung, Bildwiederholfrequenz, etc) daran ständig die analogen (bzw. digitalen) Signale aus den im Framebuffer abgelegten RGB Informationen zu erstellen. Dabei geht er immer wieder den FrameBuffer durch und baut ein Bild, Pixel für Pixel, Zeile für Zeile, Bild für Bild. Somit werden irgendwelche Änderungen entsprechend sofort übernommen. Da man nicht für 1/60'stel Sekunden oben ein altes Bild siehst und unten ein neues Bild (wenn dein Auge so schnell ist und du das so schnell verarbeiten könntest), verwenden viele Grafikausgaben eine Synchronisation mit der Grafikkarte, weil ein Update des Bildspeichers kann beim Zeilenstrahlrücklauf geschehen (wenn der Kathodenstrahl deiner Bildschirmröhre vom unten rechten Pixel zum oberen linken zurück läuft) und man sieht es nicht.

Aber soviel erstmal kurz angerissen quer durch Theorie und Praxis zum Verständnis...
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:49
Das heißt, dass die Ausgabe des Bildes eigentlich bis zur entgültigen Aktualisierung eine Mischung aus dem alten, dem neuen und den dazwischenliegenden Aktualisierungen ist, die aber durch die Trägheit des Auges nicht wahrgenommen werden.

Habe ich dich richtig verstanden?
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 21:59
Sozusagen, ja. So als wenn du immer wieder eine Seite liest, wo aber zwischendurch andere rumradieren und rumschreiben. Alles auf ein und demselben Blatt Papier. Und liest immer von oben nach unten das Blatt durch. Dabei siehst du aber immer nur den einen Buchstaben den du gerade liest. Alles andere ist dunkel. Wenn du das nun 60 mal pro Sekunde schaffst, ergibt sich bei dir im Kopf (falls alle mal ein paar Sekunden Pause machen, da der PC auch nicht jede 1/60'tel Sekunde alles komplett ändert) der Text, bzw. die Buchstaben die am längsten stehen bleiben am ehsten hängen.

Bei Röhrenmonitoren ist es so, dass der Elektronenstrahl vorne Leuchtpunkte anregt zu leuchten die dann aber auch wieder dunkler werden. Von daher wandert der Strahl immer wieder über das Bild - von daher kommt auch das flimmern (Änderung Hell <-> Dunkel). Das Auge bekommt 60Hz noch recht gut mit, von daher ist ein ergonomisches Arbeiten vor allem erst ab min. 75 Hz möglich, weil dort dann das Auge diesen ständigen Neuaufbau (Flimmern) nicht mehr aktiv mitbekommt und es dadurch als stehendes Bild vorkommt. Bei 100Hz ist es dann schon richtig angenehm, weil dort die Punkte noch nicht wirklich merkbar dunkler werden, bevor sie wieder von diesem Elektronenstrahl "angeregt" werden zu leuchten. Bei TFT/LCD ist das was anderes, weil dort leuchten die Punkte ständig und werden nicht dunkler. Von daher ist es ein "stehendes" Bild was am angenehmsten für die Augen ist.
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#9

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 22:02
Deine Grafikkarte hat einen Bildspeicher. In diesem Speicher liegen je Bildpunkt drei Bytes, die die Helligkeit der drei Grundfarben Rot, Grpün und Blau angeben. Über verschiedene Timer gesteuert liest die Grafikkarte diesen Bildspeicher aus und wandelt die drei Bytewerte in Spannungen um, die dann als RGB-Signal an den Monitor ausgegeben werden.
(Disclaimer: Vereinfacht ausgedrückt. Gilt z.B. nur für VGA-Anschlüsse, bei DVI-D-Anschlüssen läuft das anders, aber eigentlich ähnlich. Es gibt auch PCs ohne eigenen Grafikkartenspeicher, da wird vom Hauptspeicher was abgezwackt. Es können auch mehr oder weniger Bytes pro Bildpunkt genutzt werden, aber nuja...)

Wenn ein Programm jetzt einfach so in den Bildspeicher reinzeichnet, kann es passieren, dass du für eine 60tel Sekunde nur eine halbe Zeichnung siehst, z.B. die untere Hälfte, weil das Zeichnen genau in dem Zeitpunkt stattgefunden hat, als die Grafikkarte die 200. Bildschirmzeile ausgegeben hat.

Deshalb zeichnet man oft im Hintergrund in einen anderen (unsichtbaren) Speicherbereich und schaltet in der sogenannten Abtastlücke die Speicherbereiche um. Das ist genau der Zeitpunkt, wenn die Grafikkarte mit einem Bild fertig ist und sich darauf vorbereitet, das Bild wieder neu auszugegeben. Dabei gibt es zwei Möglichkeiten (ich weiß aber nicht, ob heutzutage beide noch genutzt werden): Erstens kann man der Grafikkarte sagen, sie soll jetzt einen anderen Speicherbereich für das ganze Bild benutzen, oder man kopiert blitzschnell die (im Hintergrund liegende) Zeichnung in den eigentlichen Bildspeicher.

Ich hoffe, das hilft ein wenig fürs Verständnis...
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: Funtionsweise Grafikkarte Monitor

  Alt 10. Mai 2007, 22:17
Danke SirTwist,

obwohl deine Aussage der von Muetze1 widerspricht. Laut Muetze1 findet ständig eine Aktualisierung statt!
(Das habe ich doch richtig verstanden, oder?)

Kann man diese Abtastlücke ermitteln und sich dann dieses (vollständige) Bild anzeigen lassen, bzw. die Änderungen, so gering sie auch sein mögen visualisieren, also als Bild speichern?

Auch das kopierte Bild einfügen hört sich recht interessant an! Welches Format muß dieses Bild haben und wie wird es in den Buffer kopiert?

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz