HUD optimieren
-
Hallo,
in meinem d3d- Spiel möchte ich ein HUD einbauen, was bisher auch einwandfrei funktioniert hat. Nun verwende ich dafür reichlich aufwendige Texturen, weil ich nicht jeden einzelnen Pixel sehen will, sondern alles fein gerendert haben möchte. So circa 1024x1024. Das HUD besteht aus mehreren Texturen die, übereinandergelegt, das eigendliche Menü ergeben. Dadürch wird das Spiel aber sehr langsam, was ich als vermeidbar empfinde, da die meisten pixel des Menüs im Verlauf des Spiel nicht verändert werden. Ich brauche Optimierungshinweise wie ich dieses HUD schneller rendern kann und freue mich auf alle Antworten.
MfG Klaus
-
Erstmal würde ich so große Texturen immer komprimieren.
Dxt5 oder auch Dxt1 wenns nicht zu mies aussieht.So wie sich dass anhört renderst du einen Quad in Screengröße mit der
Textur drauf über den gesamten Bildschirm.Das verbraucht eine Menge Fillrate, ich gehe jetzt mal davon aus
dass du Fillratelimitiert bist. (developer.nvidia.com, für mehr Infos darüber)
und würde dir raten das HUD in kleinere sepereat renderbare Bereiche ein zuteilen. (Healthbar, Crosshair etc)
-
Kane schrieb:
Das verbraucht eine Menge Fillrate, ich gehe jetzt mal davon aus
dass du Fillratelimitiert bist. (developer.nvidia.com, für mehr Infos darüber)
und würde dir raten das HUD in kleinere sepereat renderbare Bereiche ein zuteilen. (Healthbar, Crosshair etc)Man könnte auch alphatest einschalten sodass alles was absolut unsichtbar ist erst garnicht zum alphablendingbereich der graka kommt, das spart sehr viel fillrate!
rapso->greets();
-
Sollte man trotzdem nicht machen, wegen der großen Textur.
Bye, TGGC (Der Held bei Dir!)
-
In jedem Falle solltest du auch noch den ZBuffer ausschalten.
Viele Grüße
Fischi
-
Die Texturkompression Dxt1 hat schonmal sehr gut geholfen, danke für den guten Tipp. Bei den Alphatest bin ich mir nicht ganz sicher das muss ich noch ausgiebiger testen.