Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

11

30.08.2008, 09:13

du kannst das problem ein wenig eingrenzen, in dem du mit texture atlase oder texture arrays arbeitest (kommt drauf an welche api du nutzt).

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

12

30.08.2008, 14:44

Zitat von »"Dustin Braun"«

Wo ist denn der Performance knackpunkt beim Texturieren?

Muss man darauf achte wenig texturen zu zeichnen, oder ist es egal wie oft ich zeihne, hauptsache es ist die selbe textur? Es wird also nur langsamm, wenn ich viele verschiedene Txturen verwende? Also, wrauf muss ich achten?


als grundregel gilt je weniger texturwechel desto besser. eher eine große als mehrere kleine.

trash52

Treue Seele

Beiträge: 86

Wohnort: Dresden

  • Private Nachricht senden

13

30.08.2008, 20:02

Wenn du es ganz genau wissen willst, dann messe doch eingach mal die Zeit pro Renderdurchgang.

float fTime =0.00001f;
DWORD dwTimeOld=0;
DWORD dwTimeNew=0;

dwTimeOld = timeGetTime();

Renderfunktion(fTime); // Hier musst du noch die Zeit ausgeben

Move(fTime);

dwTimeNew = timeGetTime();

// Zeit in Sekunden
fTime = (float)((dwTimeNew - dwTimeOld) * 0.001f);

Nun Probiers mal mit vielen kleinen Texturen bei häufigem Wechsel.

Oder mit großen Texturen und nur einigen Texturwechseln.


P.s.: 1/fTime = FP/s

Die WinMM.lib must du auch einbinden und
falls nich schon vorhanden mmsystem.h .

14

30.08.2008, 20:03

Okay, danke :)

Aber eine Detailmap muss a wieder aus ielen kleinen gemacht werden, das geht dann ja wieder auf die performance?

Aber eins weiß ich noch nicht! Wenn ic eine Textur lade, und diese 100 mal anzeige, ist da schneller als wenn ch 5 verschiedene texturen lade und 5 verschiedene anzeige?

EDIT:::

Nich gelesen, werd ich achen :)

trash52

Treue Seele

Beiträge: 86

Wohnort: Dresden

  • Private Nachricht senden

15

30.08.2008, 20:19

Du darfst, dass doch nicht so überbewerten.

Mir scheint du hängst dich gerade zu sehr am Detail auf.

Man kann noch ewig darüber diskutiern, was denn schneller wäre oder nicht?

Wie gesagt mess doch einfach mal die Zeit, wenn es dir so 100 % darauf
ankommt, ob es nun mit 76 FPS oder mit 69 FPS läuft.

Wichtiger ist: Die Dreiecke, die nicht sichtbar sind, sollten erst gar nicht weiter betrachtet werden und sofart rausfallen, das spart auch viel an den Ressourcen.

16

31.08.2008, 04:45

Ja, mir geht es wirklich sehr um das Detail, denn wenn ich überall nicht ans detail denken würde, würde das eine katasthrophe werden! Ich hole lieber aus allem das meiste raus!

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

17

31.08.2008, 11:43

Zitat von »"Dustin Braun"«

Ja, mir geht es wirklich sehr um das Detail, denn wenn ich überall nicht ans detail denken würde, würde das eine katasthrophe werden! Ich hole lieber aus allem das meiste raus!


Das Problem ist, ist, dass es nicht überall gleich ist.
Du hast unzähliche verschiedene Grafikkarten und die haben ja auch nicht alle die gleichen Stärken. Die einen haben mehr Speicher, die anderen sind höcher getaktet usw. Das heisst, dass du dich eigentlich auf nur sehr wenig verlassen kannst. Ansonsten musst du das einfach mal testen, indem du deine Fragestellung isolierst und dann genau auf das auf deinem Zielsystem testest. (mit einem Profiler wirst du sehr schnell fündig).

Wenn du allerdings Richtwerte haben willst, was so DX Funktionen kosten, kannst du mal hier schauen:
http://msdn.microsoft.com/en-us/library/bb172234(VS.85).aspx

Ganz unten sind ein paar Aufrufkosten aufgelistet. (Findest du auch in der Offline Doku.)

18

31.08.2008, 18:15

DX ist ganz schlecht, ich benutze OpenGL xD

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

19

31.08.2008, 18:19

du machst einen fehler, den viele machen: sich über performance gedanekn zu machen bevor man anfängt zu implementieren. fang einfach an, und optimiere hinterher. oftmals findet man dann noch andere bottlenecks, die man gar nicht vermutet hätte.

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

20

31.08.2008, 19:59

Zitat von »"TrommlBomml"«

du machst einen fehler, den viele machen: sich über performance gedanekn zu machen bevor man anfängt zu implementieren. fang einfach an, und optimiere hinterher. oftmals findet man dann noch andere bottlenecks, die man gar nicht vermutet hätte.

da kann ich nur zustimmen. meistens sind es die bottlenecks, die man am wenigsten erwartet ;)

Werbeanzeige