Seltsames Speedproblem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

hamZta

Administrator

Betreff: Seltsames Speedproblem

BeitragDo, Okt 21, 2004 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute, ich programmier grad in b3d und bin dabei auf folgendes gestoßen:
meine hauptschleife sieht folgendermaßen aus:Code: [AUSKLAPPEN]

Repeat
   frames = frames + 1
   
   If console=0 Then updatePlayer()
   
   msstart = MilliSecs()
   UpdateWorld()
      msend = MilliSecs()
   mstotal = msend-msstart
   RenderWorld()
   
   Text 0,0,"FPS:" +fps()
   Text 0,15,"Tris:";+TrisRendered()
   Text 0,45,"RenderTime:"+mstotal
    Text 0,30, (((TotalVidMem()-AvailVidMem())/1024)) + "/"+ ((TotalVidMem()/1024))

   
   updateConsole()
   Flip 0
Until KeyHit(1)

darin rufe ich nur die Funktionen zum Playerbewegen und zum konsole updaten auf. beide funktionen brauche nur sehr kurz um ihre aufgabe zu erfüllen Wink
ich hab allerdings 19 objekte geladen, jedes ne eigene surface, insgesamt 1976 Tris. wenn ich nur in die luft schau, hab ich an die 2000 fps, wenn ich aber die 19 objekte anschau sinkt die fps zahl auf 25.
ich hab mal überprüft wie lang die text funktionen brauchen (keine normalen funktionen, sind bitmaptfont routinen von dc's font wizard), und hab gesehn das diese 4 stück 77 millisekunden brauchen.

Wenn wer sofort ne lösung hat, immer her damit!

Hier hab ich mal das projekt hochgeladen. Ihr müsst nur mit der maus nach unten sehen. beendet wird mit escape.

bitte sagt mir eure fps wenn ich die 19 objekte seht (ihr seht nur eins, weil die übereinander liegen Wink )

ich hoffe auf antworten!
danke im vorraus,
hamZta
Blog.
 

getlose

BeitragDo, Okt 21, 2004 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ne taste womit man das prog beenden kann wäre
nicht schlecht gewesen ;)

hab 14 fps (1 ghz, 386ram,gf2mx), weiß aber
nicht was das schwarz/weiße Etwas darstellen soll,
sieht extrem frame-fressend aus :)

hamZta

Administrator

BeitragDo, Okt 21, 2004 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
schwarz weisses etwas?
seltsam...
ich hab ja geschrieben das man mit escape beenden kann!
Blog.
 

BIG BUG

BeitragDo, Okt 21, 2004 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Also mit Escape kann man definitiv nicht beenden... wenn dann strg+ESC und mit Windows abschiessen falls du das gemeint hast Smile

Neben der Anzahl der gerenderten Tris ist natürlich auch die Größe dieser relevant. Je größer ein Polygon, desto länger braucht die Grafikkarte es zu füllen.
Dass dann bei 500 halb-bildschirmfüllenden Polygonen die FPS runtergehen ist klar. Wenn du also lauter Objekte an der gleichen Position erstellst und nah ranzoomst hast du folglich keinen aussagekräftigen Wert, wieviel Polygone eine Spielszene verbrauchen darf.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Wild-Storm

BeitragFr, Okt 22, 2004 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ein "kleiner" fehler, die textur ist keine 2er potenz, sondern irgendein mischmasch aus 540x480 oder so, das verbraucht viel unnötigen speicher(wird dann 1024x1024pixel verbrauchen, pro texturgebrauch),
da du die textur nun um die 14mal benutzt (wie ich das hier sehe) ist ein enorm groser speicherverbrauch da.
und voila, da is dein speedproblem =)
verkleiner einfach die textur auf eine 2er potenz, z.b. 512x512
bye und ich hoffe ich konnte helfen


@BIG BUG, stimmt nicht ganz, ne skybox besteht auch aus riesigen polygonen und nimmt fast den ganzen bildschirm ein, trozdem geht der speed net in den keller


edit: ah 19 sinds, mit je 10texturflächen bei 1024x1024, das is ordentlich speedfressend, kein wunder Wink
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875

hamZta

Administrator

BeitragFr, Okt 22, 2004 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
hab das jetzt mal auf 512x512 gemacht, aber das ergebnis ist nicht anders, ich hab 25 fps wenn ich von oben draufschau

edit: auch bei 128x128 sinkts unter 30 fps...
Blog.
 

lettorTrepuS

BeitragFr, Okt 22, 2004 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.
 

BIG BUG

BeitragFr, Okt 22, 2004 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
@Hamza
Dann zoome die Kamera mal zurück(so dass der Baum oder was auch immer kleiner zu sehen ist) und freue dich über mehr FPS.

@Wildstorm
Stimmt schon ganz, ne Skybox sind eben nur eine Hand voll Polygone und keine 500.
Dieser Aspekt der Polygongröße wird auch bei professionellen Spielen zu wenig berücksichtigt. So kommt es bei Rennspielen oftmals zu einem deutlichen FPS-Einbruch, wenn z.B. viele Staubsprites genau in die Kamera fliegen...
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

hamZta

Administrator

BeitragFr, Okt 22, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@ST, ja die fps routine ist richtig, wenn man die objekte ansieht ruckelts auch ordentlich.
die text befehle benutzen bitmapfontroutinen, wenn ich sie weglass ruckelts trotzdem.
das objekt is in milkshape erstellt worden, ich denke mal es sind 3 vertices pro polygon. wie meinst du das, updateworld in einer for schleife?
@BigBug, du kannst dich mit WASD bewegen, aber was bringts mir wenn ich das objekt kleiner seh? im spiel soll man ja schlißlich auch nah ran gehen können.


ich hab mir nochmal die millisekunden ausgeben lassen, die renderworld braucht wenn ich auf die objekte schau, und ich erkenn da keine veränderung. (bleibt immer bei 0-1 millisecs).
Blog.
 

lettorTrepuS

BeitragFr, Okt 22, 2004 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group