Einzelnen Beitrag anzeigen

Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#3

Re: Qualitätseinstellungen bei OpenGL

  Alt 19. Jul 2005, 10:35
Pauschal läßt sich da keine Antwort drauf geben, weil nicht jede Option in jeder Situation sinnvoll ist. Ich hätte mir zwar nie gedacht es jemals über die Lippen zu bekommen, aber: Heutige Grafikkarten haben soviel Power, dass man für eine Detail-Textur locker 512x512 nehmen könnte ohne darüber nachzudenken. Entsprechend hilflos steht man mit einigen alten Schälterchen rum, die heutzutage scheinbar auf die Performace keine Auswirkungen mehr haben. Soll es wirklich "besser" aussehen lohnt sich meistens am ehsten die Flucht nach vorne in dem man die Grafiken detaillierter macht. Also neben der normalen Textur via Multitexturing noch eine hübsche Detail Map. Da ich selbst davon nur begrenzt Ahnung habe, werden die ganz modernern vermutlich via Shader versuchen dem ganzen noch einen schönen Bump-Effekt zu verpassen und außer, dass die Filter quasi dauerhaft im hochauflösenden Modus arbeiten können, kann man da nur wenig zu sagen Es gibt keine "Wunderschalter", die das aussehen erheblich verbessern, sondern meistens nur Kombinationen verschiedener Techniken. Und selbst diese pauschale Aussage halte ich schon stellenweise nicht für tragsbar
Was die Antialiasing-Stufen angeht, so möchte ich ihn den Raum stellen, ob es Sinn macht diese über das Programm einzustellen. Vielleicht hat der User mitunter bei seinen Grafikkarteneinstellungen hinterlegt in welcher Stufe seine Grafikkarte seiner Meinung nach am besten läuft. Ich bin Purist... AA am besten ganz weg und dafür schön schnell auf dem Bildschirm, andere werden sich lieber der 30 FPS-Grenze näheren und dafür eine hohe AA-Stufe zu wählen. Belasse es also am besten den User zu entscheiden welche Stufe er verwenden möchte. Sollte man dann einmal ein fertiges Spiel abliefern, so kann man dies in seinen Optionen noch ganz zum Schluss einbauen.
Zur Performance kann man dann nur noch eine Sache pauschal sagen: Je weniger, desto besser. Es gibt ein paar Aufrufe, die sich wirklich negativ auf die Geschwindigkeit auswirken (das hört sich an als würde ein Aufruf, dass Programm ruinieren, in der Realität sind dies locker tausende...). Z.B. das Texturenwechsel via glBindTexture. Möchtest Du eine Landschaft texturieren mit zig tausend Polygone, dann welche vor dem Zeichnen einmal und nicht vor jedem Polygone. Das mag hier noch einleuchtend sein, bei Objekten ist es aber oft nicht so. Zeichne gleiche Objekte möglichst nacheinander, damit glBindTexture nicht so oft aufgerufen wird. Zeichnest Du kleinen Fitzelkram z.B. eine GUI, dann zeichne nicht jeden einsamen Knopf als neue Textur, die mit glBindTextur adressiert wird, sondern knall alles auf einer drauf und verwende nur den benötigten Teil dieser Textur.
Ich denke das reicht erstmal pauschal an der Glaskugel
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat