Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Hallo zusammen,
ich habe ein Programm übernommen welches ohne OpenGL bzw. D3D 3D-Grafiken zeichnet. Also Körper aus einfachen Linienzügen und Polygonen aufbaut und diese dann auf den Bildschirm projeziert. Das sieht natürlich nicht so schön aus, ist umständlich und ich will es mit OpenGL neu schreiben. Abgesehen von den optischen und praktischen Vorteilen die ich mir davon verspreche, möchte ich gerne wissen ob ich dadurch auch eine Entlastung für die CPU zu erwarten haben. Eigentlich müsste bei OpenGL-fähiger Grafikkarte doch das ganze Rendern von dieser übernommen werden, was momentan jawohl nicht der Fall ist.
Aber was heißt eigentlich OpenGL fähig. Können das nur die teuren Karten (mehrere hundert bis tausend Euro)? Ich habe gehört dass billige Karten das hardwaremäßig gar nicht können, sondern nur mit Hilfe des OpenGL Treibers. Und das Übersetzen der Befehle belaste wieder den Hauptprozessor.
Könnt ihr mir vielleicht Klarheit verschaffen?
Wenn man einen korrekten Treiber installiert hat läuft der großteil auf der grafikkarte ab. Das gibt auf jeden Fall einen deutlichen Performancevorteil gegenüber Software. OpenGL läuft auf fast jedem PC der eine echte Grafikarte hat. Bei Onboardkarten kann es probleme geben.
Selbst wenn du im immediate mode arbeitest (jeden vertex einzeln an opengl übergibst) ist noch weit besser als in software(zumindest für gefüllte Polys, für umrisse ist der unterschied wohl kleiner).
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Softwarerenderer sind klar CPUlastig, selbst auf kleinsten und einfachsten 3D Systemen.
Um CPUs generell zu entlasten werden selbst normale Fenster und andere Dinge schon auf GPUs ausgelagert.
Wieso die 100€ und mehr, Grafikkarte ungenutzt rumliegen lassen, wenn man doch die Fenster und Bilder auf der GPU verarbeiten kann.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Vielen Dank erst mal.
Ich würde trotzdem noch gern folgendes wissen:
Ich habe eine Radeon X1300 und eine Radeon 9600. Beides keine besonderen GPUs, aber beide sollen OpenGl voll unterstützen (o.k vielleicht nicht die allerneueste Version). Arbeiten diese Karten genauso wie High-End OpenGl Karten, nur mit langsameren Prozessor und Speicher? Oder wird da noch Vorarbeit vom Hauptprozessor geleistet?
Solange du keine Shader oder unübliche extensions benutzt sollte es auf allen halbwegs aktuellen Rechnern ohne Probleme laufen. DirectX und OpenGL sind nahezu gleichwertig, es gibt eine Reihe an Spielen die OpenGL nutzen, u.a. (Quake 3/4 und Doom3). Aber alles was von nVidia oder AmdAti kommt sollte es ohne Probleme unterstützen. Bei Intel onboard weiß ich nicht so genau bescheid, aber insbesondere ältere OpenGL Versionen sollten auch da funktionieren. Schlimmstenfalls erfolgt ein fallback auf die OpenGL 1.1 implementierung von MS.
Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.