Wie funktioniert die Treiberentwicklung?

k!su

Lt. Commander
Registriert
Dez. 2006
Beiträge
1.430
In regelmäßigen Abständen bringen nvidia, ati und co neue grafikkarten treiber auf den markt, die "...leistung und geschwindigkeit der chips..." verbessern sollen. Mich würde mal interessieren, welche schritte bei der weiterentwicklung eines treibers absolviert werden. Wie kommt bei einem neuen treiber bei der gleichen grafikkarte eine bessere performance zutage, als es bei älteren treibern der fall war? es wird ja schließlich nicht jede woche eine neue, bessere, einfachere programmiersprache entwickelt...
Wäre super wenn ihr mich da mal aufklären könntet.
MfG
k!su
 
Ich kann das nicht für speziell für Grafikkarten sagen, aber es gibt etliche Möglichkeiten der Optimierung.

1. Alignment: Daten, die aligned sind, können schneller vom Prozessor adressiert werden.

2. Möglichst wenig Prozesswechsel. Ein Prozesswechsel kostet Rechenzeit. Z.B. so weit wie möglich Daten von der Applikation sammeln, und dann erst an den Grafikchip weiter reichen.

3. Assemberloptimierung für die Codestellen, die am meisten durchlaufen werden. -> Codeanalyse mit Tools.

4. Compileroptimierungen.

5. Ausnutzung von Features neuerer Prozessorgenerationen.

6. Wo möglich und sinnvoll mit DMA anstatt dem Prozessor Daten bewegen.
 
das heisst der überwiegende Teil beschäftigt sich mit der Anordnung und Schreibweise vom Quellcode?
 
Nein, ich hoffe der Überwiedende Teil beschäftigt sich mit der Funktionalität.
Performance ist nur ein Punkt davon, die Funktionalität zu optimieren.
 
Sapphire Forum
Zurück
Oben