Performance Probleme

Posted By: garv3

Performance Probleme - 05/30/09 23:07

Hallo zusammen!

Ich habe momentan einige Performance Probleme. Eines meiner Models (2900 Faces und 4 Skins a 1024*1024*24) kostet anscheinend einen Großteil meiner Framerate.
Hier mal eine Liste der Framerates entsprechend der Anzahl der Entities dieses Models (max_fps = 100):

Entities FPS
00 100
01 100
02 065
03 045
04 035
05 029
06 025
07 021
08 019
09 017
10 015
usw.

Ich benutze einen standard Diffuse-Shader und Schatten mit shadow_stencil = 1.

Eigentlich ist das Model ja nicht allzu aufwändig.
Aber woran wird das liegen? Zu hoher Ploy-Count, zu große Skins...?

Wäre für jede Hilfe dankbar.

Gruß
derGarv
Posted By: KiwiBoy

Re: Performance Probleme - 05/30/09 23:11

1024 texrures = 4.8 mgb.
Multiply by 4 = 19.2 mgbs/model ??
Posted By: slacer

Re: Performance Probleme - 05/30/09 23:26

Welche Werte bekommst du, wenn du den shader nicht verwendest?
Sind bei diesem Test alle Entities im gleichen Abstand zur Kamera?
Was geschieht, wenn du die Kamera drehst und nach und nach weniger Objekte im Blickfeld sind?

Da du die Pro Version verwendest, könntest du dir LOD und Instancing mal ansehen - evtl. kannst du an der Performance noch ein wenig drehen.

Bei 10 Modellen müssen je Frame 29000 Polygone gerendert werden.
Dazu kommen die Polygone für den Schatten.
Ist das Objekt eigendlich selbstbeschattend?
Wieviele Lichtquellen verwendest du?
Posted By: garv3

Re: Performance Probleme - 05/30/09 23:43

Wird die Skin denn mehrfach in den VRAM geladen?
Posted By: garv3

Re: Performance Probleme - 05/30/09 23:46

Originally Posted By: slacer
Welche Werte bekommst du, wenn du den shader nicht verwendest?
Sind bei diesem Test alle Entities im gleichen Abstand zur Kamera?
Was geschieht, wenn du die Kamera drehst und nach und nach weniger Objekte im Blickfeld sind?

Da du die Pro Version verwendest, könntest du dir LOD und Instancing mal ansehen - evtl. kannst du an der Performance noch ein wenig drehen.

Bei 10 Modellen müssen je Frame 29000 Polygone gerendert werden.
Dazu kommen die Polygone für den Schatten.
Ist das Objekt eigendlich selbstbeschattend?
Wieviele Lichtquellen verwendest du?



1. Hab es noch nicht ohne Shader probiert.
2. In etwa
3. Bei weniger Objekten im Bild, steigt die Framerate auch wieder.

4. Kommt für mich kaum in Frage, da sich der Abstand nicht großartig ändert.

5. Ja, ist selbstschattierend
6. Nur die Sonne *g*
Posted By: garv3

Re: Performance Probleme - 06/01/09 21:20

So, habe das Model jetzt mal überarbeitet und wesentlich runtergeschraubt. Es besteht jetzt aus 476 Faces und drei Texturen: 2 mal 256x256 und 1 mal 128x128.
Das ist jetzt ja nun wirklich kein aufwändiges Model. Und doch sinkt die Performance erheblich, wenn ich mehrere davon erstelle!

Irgendwelche Tipps?
Posted By: slacer

Re: Performance Probleme - 06/01/09 21:33

Die Anzahl der Modelle im Level sollten eigendlich nicht die Frage sein, sondern wieviele Modelle man gleichzeitig sehen kann.

Manchmal ist es nicht das Modell, sondern die daran hängende Action, die die Probleme macht. Z.B Shader Initialisierung bei jedem Frame und jedem Modell, häufige scans, etc.
Wie hast Du die Shader eingebunden?
Warum benötigst Du für ein Modell mit 476 Faces 3 Texturen?
Erfordert der Shader dies?
Posted By: garv3

Re: Performance Probleme - 06/01/09 23:05

Das Problem ist, dass man praktisch immer alle Modelle sieht. Das ist leider spielprinzipbedingt. Aber selbst, wenn ich näher heran zoome, so dass man weniger Modelle sieht, geht die Framrate nicht hoch - eher noch runter.
Die Action ist nicht dramatisch. Es gibt ein random(var) je Frame und alle paar Frames eine Partikel-erzeugende Funktion. Aber das ist nicht wirklich heftig.
Ich habe je Mesh eine Textur. Aber bei der Texturgröße, sollte das doch egal sein!?
Selbst, wenn ich die wiederholten Funktionen (Partikel usw.) weglasse und keinen Shader benutze, steigt die Framerate im Vergleich nur um ein paar fps.

Welche Möglichkeiten gibt es sonst noch?
Posted By: garv3

Re: Performance Probleme - 06/01/09 23:22

Hier mal ein Screenshot:


Es geht um diese Kraftwerke. Hier mit Shader, Schatten und Qualm-Partikeln.
Ergibt bei 99 Stück -> 24 fps

Und das bei 1280x1024 Pixeln auf nem Core2Duo T7500 (2x2,2 GHz) und ner GeForce 7950GTX mit 512MB VRAM und 4 GB RAM (genutzt ca. 3,5 GB, da Vista 32 Bit). Kann doch nicht sein, oder?
Ohne die Kraftwerke hab ich ca. 245 fps...
Posted By: BoH_Havoc

Re: Performance Probleme - 06/02/09 00:43

Ich behaupte jetzt einfach mal, dass der drastische fps drop an den Schatten liegt.
Da du die Pro version hast, könntest du mal die beschleunigten Schatten testen ( shadow_stencil = 3 ). Es lohnt sich evtl auch, LODs für die Schatten zu erstellen. Einfach mal nach shadow_lod im Handbuch suchen.

Ausserdem sind viele einzelne Entities auf dem Bildschirm nie gut. Es ist immer besser, wenige Objekte mit vielen Polygonen zu haben als viele Objekte mit wenig Polygonen. In deinem Fall bringt dir das aber denke ich nicht viel, da du nunmal (spielbedingt) viele einzelne Entities brauchst und nicht clustern kannst. Instancing wäre noch eine Möglichkeit, aber das geht momentan noch nicht out-of-the-box (ausser für partikel)

Ansonsten kannst du auchmal auf der Beta Page vorbeischauen, da ist momentan ein Beispiel in Arbeit wo sehr viele Entities gleichzeitig auf dem Bildschirm gerendert werden, ohne das die Framerate einbricht. Einfach warten bis die Beta im entsprechenden Unterforum released wird und mal in den code schauen wink

[edit] achja, grade noch eingefallen: Da die Modelle alle die gleichen sind, solltest du in MED unter Skins noch texture sharing nutzen. Das bringt evtl. auchnoch ein paar fps mehr wink
Posted By: garv3

Re: Performance Probleme - 06/02/09 08:50

Danke für die vielen Tipps!
Ich werd mich heute Abend mal dran versuchen. Dann geb ich hier Feedback...
Posted By: garv3

Re: Performance Probleme - 06/02/09 21:15

shadow_stencil = 3 bringt ca 5 fps gegenüber shadow_stencil = 1, erzeugt allerdings leichte Fehler bei der Darstellung.

Zum Texture Sharing steht im Handbuch "Shared Texture A7.62 Teile die Textur mit einer zuvor zugewiesenen Skin. Nützlich für Skins, die dieselbe Textur, aber unterschiedliche Materialien oder Effekte haben." Ist also wohl nich Entity-übergreifend und wird nichts bringen. Oder hab ich da was falsch vertsanden?

Zu dem angesprochenen Thema im Beta-Bereich finde ich nichts. Außer vielleicht preload_mode. Aber da geht es ja nur um's preloaden...

Die Schatten komplett zu deaktivieren erhöht die Framrate auf ca. 60fps. Doch das kann keine Option sein!

Sonst nich Ideen?
Posted By: BoH_Havoc

Re: Performance Probleme - 06/02/09 22:33

Quote:
A terrain / vegetation example (infinite_terrain.c) was added to the samples folder. This example uses 9 simultaneous views for a terrain level of virtually unlimited size, and can render 60,000 entities per frame at a decent frame rate.



Die Beta ist seit heute verfügbar, also ab ins Beta Forum und die neue Version ziehen, infinite_terrain.c öffnen und anschauen. Möglicherweise löst sich damit dein Problem smile
Posted By: Damocles_

Re: Performance Probleme - 06/02/09 22:42

Also wenn ich mir den Screenshot anschaue, und dann sehe
daß das nur auf 24FPS läuft muß ich sagen daß Dein Grund-Ansatz
fehlerhaft ist.

Schalte mal alle Shader und Schatten ab, und schau wie schnell das läuft. (Ich denke mal bei über 100 FPS, gegeben
was ich da auf dem Screen an "komplexität" sehe)

Dann versuch mal einen normalen Schatten (ohne Stencil) zu verwenden.
Ein Workaround könnte sogar sein, den Schatten seperat zu ertellen, zB als ein flaches Model mit Transparenz (eine Art Schatten als Model) - oder ein Sprite.

Jedenfalls ist es definitiv möglich alles wesentlich
schneller darzustellen.
100 Kraftwerkmodelle kann dein Rechner problemlos
ohne merklichen Performanceverlust anzeigen, wenn man
diese optimiert benutzt.

Auch sollten 200Polys pro Kraftwerk voll ausreichen.
(gegeben dieser Kamera Perspektive)
Wenn die Sonne sich nicht bewegt, könntest Du den Schatten
in das Modell "einbacken". (also Schon auf die Textur rendern),
und den Bodenschatten extra machen.
Posted By: garv3

Re: Performance Probleme - 06/02/09 22:54

Die Beta werd ich mir gleich mal ziehen und ansehen. Danke!
Posted By: garv3

Re: Performance Probleme - 06/02/09 22:58

Originally Posted By: Damocles_
Also wenn ich mir den Screenshot anschaue, und dann sehe
daß das nur auf 24FPS läuft muß ich sagen daß Dein Grund-Ansatz
fehlerhaft ist.

Schalte mal alle Shader und Schatten ab, und schau wie schnell das läuft. (Ich denke mal bei über 100 FPS, gegeben
was ich da auf dem Screen an "komplexität" sehe)

Dann versuch mal einen normalen Schatten (ohne Stencil) zu verwenden.
Ein Workaround könnte sogar sein, den Schatten seperat zu ertellen, zB als ein flaches Model mit Transparenz (eine Art Schatten als Model) - oder ein Sprite.

Jedenfalls ist es definitiv möglich alles wesentlich
schneller darzustellen.
100 Kraftwerkmodelle kann dein Rechner problemlos
ohne merklichen Performanceverlust anzeigen, wenn man
diese optimiert benutzt.

Auch sollten 200Polys pro Kraftwerk voll ausreichen.
(gegeben dieser Kamera Perspektive)
Wenn die Sonne sich nicht bewegt, könntest Du den Schatten
in das Modell "einbacken". (also Schon auf die Textur rendern),
und den Bodenschatten extra machen.

Ohne Schatten hab ich (wie bereits oben beschrieben) ca. 60fps.
Decal-Schatten erhöhen die Framerate nur minimal!
Die Kameraperspektive lässt sich ändern. Die Sonne bewegt sich nicht. Allerdings wäre es wünschenswert, dass die Modelle (Es gibt auch noch andera, als die Kraftwerke) auch Schatten auf einander werfen können!
Posted By: Damocles_

Re: Performance Probleme - 06/02/09 23:02

Also wenn sich die Kameraperspektive ändert
(wenn Du ranzoomen kannst),
dann solltest Du über LOD Stufen nachdenken.

Selbst 60FPS sind sehr gering, da sie Szene
(gegeben deinem PC) noch recht simpel ist.

Schatten ist immer so ne Sache, da komplett dynamischer
Schatten immer ein Performancefresser ist.
Ist halt ne Sache der Prioritäten.
Du kanns ja die Sonne auch steiler darstellen, dann
fällt es nicht auf das die Kraftwerke sich nicht gegenseitg
beschatten.
Posted By: garv3

Re: Performance Probleme - 06/02/09 23:27

Über LOD hab ich auch schon nachgedacht. Aber der Screenshot zeigt die minimale Zoomstufe. Weiter weg geht es also eh nicht.

60fps sind allerdings sehr gering.... Das ist ja mein Problem!

Dass Schatten Performance fressen, ist mir klar. Aber wenn ich mir andere Spiele - auf Basis welcher Engine auch immer - ansehe, dann muss ich sagen, dass so ein paar Schatten ja wohl keinen wirklich signifikanten Einfluss auf die Framerate haben sollten. Und auch die paar Modelle nicht.

Zu dem "Endless terrain example" aus der Beta:
Das ist eigentlich nur ein Fake, da die View einfach mehrfach genutzt wird. Hilft mir hier nicht wirklich...

Wirklich komisch!

Wenn ich mir die Stats hier so ansehe, dann fällt mir natürlich auf, dass die meiste Zeit für die Berechnung der Entites drauf geht. Instancing wäre hier ja wohl ne super Sache.
Andererseits wüsste ich auch gerne, wie viel Zeit die Berechnung der Schatten nun wirklich in Anspruch nimmt.


Posted By: Damocles_

Re: Performance Probleme - 06/02/09 23:41

als ersten Schritt teste doch mal
dummy-models für die Kraftwerke mit nur 200 Polys
und einer Textur von 256x256.

Das sollte einiges tun. Und wirklich mehr polys brauchen
die aus dieser Perspektive nicht.

Die hochauflösenden Bodenmodelle sind dann
mit dem LOD nur beim herranzoomen nötig.

Auch der qualm könnte ne menge an performance fressen,
da viele transparente partikel benutzt werden.
Schalte den mal testweise aus.
Posted By: garv3

Re: Performance Probleme - 06/02/09 23:47

Wie schon gesagt, die Perspektive kann sich ändern. Man kann die Kamera schwenken und auch recht nah heran zoomen. Außerdem sind die Kraftwerke ohnehin so ziemlich die simpelsten Modelle. Andere Models sind wesentlich komplexer. Hab es grad mal getestet. Dabei geht die Framerate (bei 100 Gebäuden) locker auf 3fps runter.

Der Qualm wirkt sich kaum auf die fps aus (max 1-2fps). Hab ich getestet.
Posted By: Zapan@work

Re: Performance Probleme - 06/03/09 13:59

Kann ich mir nur schwer vorstellen, das das so langsam ist. Vielleicht magst du mal ein Test-Level hochstellen, wo nur die Gebäude auf ner Bodenplatte stehen und keine Funktionen im Hintergrund laufen...

Da könnten das dann andere User auf ihren Rechnern einmal laufen lassen...
Posted By: garv3

Re: Performance Probleme - 06/03/09 14:34

So, jetzt habe ich mir mal ein wirklich extrem simples Model gemacht: 8 faces, 9 vertices und eine Skin mit 64*64px

Davon erstelle ich 28*23 = 644 Stück (auf jedem Feld eines).
Bevor ich diese Entities erstelle, habe ich über 260 fps.
Es ist kein Shader und keine Action zugewiesen. Das shadow-flag ist auch nicht gesetzt.
Ich komme auf unter 90 fps.
Indem ich ein paar Flags setze (PASSABLE | UNTOUCHABLE | UNLIT | CAST) gewinne ich ca. 10 weitere fps.

Damit liege ich dann bei knapp 100 fps für ca. 650 unbeleuchtete Entities ohne Schatten oder Shader.
Es kann doch nicht sein, dass diese wirklich extrem simplen Entities über 160 fps verbrauchen!?

Ich vertseh es einfach nicht...
Hier die dazugehörigen Statistiken:

Man kann ganz gut erkennen, dass es wirklich die Entities sind, die die meiste Rechenzeit beanspruchen.
Ohne die Entities sieht es dann so aus:


Also was nun? Ich könnte es natürlich mal publishen und eine Möglichkeit einbauen, die Entities ein-/auszuschalten. Aber dazu muss ich wirklich viel umbauen... Vielleicht hat ja hemand (jcl?) noch ne Idee?
Posted By: garv3

Re: Performance Probleme - 06/05/09 09:35

Auf Anraten von jcl hab ich das Projekt jetzt mal an den Support geschickt.
Einziges Feedback bisher: Als Faustformel gilt, dass für eine Framerate über 30fps sollen nicht mehr als 5000 Polygone zu sehen sein sollen.

Dann nehme ich nun mal die simplen Models aus meinem letzten Versuch: 644 x 8 Polys = 5152 Polys
Und es kann wirklich nicht sein, dass ich damit schon die Obergrenze erreicht habe. Wirklich nicht!
Übrigens, wenn ich jedes dieser Modelle durch ein einfaches Sprite ersetze, gewinne ich auch kaum Performance. Es hat also wohl eher was mit der Anzahl der Entities zu tun. Und weniger mit der Anzahl der Polys...
Posted By: CetiLiteC

Re: Performance Probleme - 08/09/09 11:48

Ist zwar offtopic, aber entweder bin ich zu dumm(was ich wohl glaube), oder aber die haben infinite_terrain wieder aus den Samples rausgenommen. Denn ich habe mir die Beta und die Version 7.77.4 geladen und bei keinem von beiden war infinite_terrain in den Samples frown Ich wurde darauf aufmerksam, als ich das neue Aum gelesen habe und wollte es mir gleichmal ansehen...
Posted By: sPlKe

Re: Performance Probleme - 08/09/09 22:17

dein problem ist ein simples:
die engine erstellt jedes model einzeln, muss jedes model einzeln laden und jedes model einzeln anzeigen. die skins und schatten und shader müssen dann auf jedes einzelne deiner über 600 entities gepflastert werden. das ist der reine wahnsinn.

erstell cluster models. pack sagen wir 16 models in einem 4*4 grid und platziere die statt der kraftwerke.
wenn du jetz sagst, ja, aber die sind nicht imemr da sondern der spieler kann die da bauen, kannst du die moprhen. wennd er spieler einen 3*3 grid baut die 9 models in ein einzelnes 3*3 model ändern. baut er noch was dazu änderst du die 8 models (9+4+3 = 4*4 grid) in ein 4*4 model and so on. das ist kompliziert und ne scheiß arbeit, aber das bringts.
die engine kann locker 50 000 polys gleichzeitig darstellen aber nur wenn du wenig models mit viel polygonen hast. viel models mit wenig polygonen brauchen mehr speicher.
außerdem ist dein nexus zu groß. das braucht nicht viel speicher aber dennoch etwas.

wenn das auch nix bringt, dann sorry, weiß ich auch nicht weiter...
Posted By: garv3

Re: Performance Probleme - 08/24/09 22:33

Hmm... Das wäre wirklich ein unglaublicher Aufwand. Aber davon ab ist es schlicht unmöglich, da der Spieler nicht einfach ein paar Kraftwerke baut. Es werden ca. 20 verschiedene Grundtypen an Gebäuden sein. Und diese sind dann noch individuell aufwertbar, was immer ein anderes Modell zur Folge hat. Ich denke, dass es also auf ca. 150 verschiedene Modelle herauslaufen wird. Jetzt nehmen wir an, ich will nur 4*4 Felder abdecken. Das sind dann - wenn mein mathematisches Verständnis mich nicht im Stich lässt - 506250000 verschiedene Kombinationsmöglichkeiten allein auf 4 Feldern. So viele Modelle kann man wirklich nicht erstellen!
Posted By: Espér

Re: Performance Probleme - 08/26/09 22:58

zumal ich schätze, dass der Spieler ned nur quadratisch baut.. sondern mal um ne ecke.. mal als 1x4 linie..etc

Ich hab dasselbe Problem. Ich erstelle aber nur 7x7 IMMER sichtbare Modelle. Das größte hat 40 Faces und 256x256 textur. Mine framerate ( nur für diese Modelle ) liegt unter 30...
Kaum vorstellbar.. Kein Schatten.. Keine Shader.. nedmal dynamisches licht.. Nur diese 7x7 (49) Modelle...

Wo hingegen ich in Engines wie Unity3D mehr als 1000 Solcher Modelle anzeigen lassen kann, ohne auch nur in die nähe der 100m FPS zu kommen.

Hier wird dringend eine überarbeitung benötigt...
Posted By: Darkyyes

Re: Performance Probleme - 08/27/09 22:16

Not to hijack this thread and german is not my language, but why not put one building model onto the map take a screenshot and cut the building out of the screenshot and save it as a sprite? and make each building be a sprite with the shadows casted? unless your camera is ingame adjustable, it should'nt be too big a problem?
Posted By: Machinery_Frank

Re: Performance Probleme - 08/31/09 07:48

Such a sprite solution will not help. It is not a matter of polygons, vertices or texture size. The problem is Gamestudios's internal management of these entities. And this runs on CPU. So you can put a better graphic card into your PC and it will not improve the performance, if you have lots of entities on screen in Gamestudio.

Only an internal debug can help to find the reason for that (maybe there is a slow access to the entity database, missing instancing or something similar). It is hard to find a workaround here to help Garv in a better way. Only reducing the amount of objects in a level might help.

If Conitec really works on this MMO project soon, then they will come to this point also and will have to find a solution.
Posted By: Tobias

Re: Performance Probleme - 08/31/09 08:36

Dein Game ist eigentlich 2D, also ist der Vorschlag von Darkyes mit den Sprites am besten. Experimentiere mit dem Endlessterrain Demo von der aktuellen Version, dann siehst du wieviele Entities deine Hardware schafft. Ich komme hier bei 30 fps auf ca. 8500 * 9 = 76000 Entities. Von denen sind ca. 2000 sichtbar, der Rest wird von der Engine weggeclippt. Nur die sichtbaren Entities tragen etwas zur Framerate bei. Du kannst die Zahl der Sprites mit den #defines am Anfang einstellen.

Bei dir sind alle Entities sichtbar, aber du hast weit weniger als 2000. Benutze Sprites für die Felder und für die Objekte darauf. Dann kannst du den Schatten mit Alphatransparenz machen und brauchst dafür kein extra Decal. Damit müsstest du auf deutlich weniger als 1000 Entities kommen, das entspricht 60 fps.

Noch etwas, Frameraten wie 280 fps sind zum Messen ungeeignet, weil du damit nicht dein Game misst sondern eher deine Monitorfrequenz oder die Background Tasks auf deinem PC. Pack das Spielfeld so voll dass du nur etwa 30 fps bekommst, dann kannst du testen was sich wirklich auf die Geschwindigkeit auswirkt.
Posted By: Machinery_Frank

Re: Performance Probleme - 08/31/09 12:51

Tobias: Garv hat die Sprite-Idee doch schon erfolglos getestet, was genau das bestätigt, was ich oben in Sachen Entitiy-Verwaltung beschrieben habe:

Originally Posted By: garv3
Übrigens, wenn ich jedes dieser Modelle durch ein einfaches Sprite ersetze, gewinne ich auch kaum Performance. Es hat also wohl eher was mit der Anzahl der Entities zu tun. Und weniger mit der Anzahl der Polys...

Posted By: Timothy

Re: Performance Probleme - 08/31/09 15:51

Das ist jetzt eine merkwürdige Vermutung, aber schalte mal die Anzeige mit Energie, Credits usw. aus und teste dann die fps.
Warum ich darauf komme? Weil bei der Contribution "Projection Texture" von Xd1Vo auch oben links eine ähnliche Anzeige war. Immer wenn ich sie abgeschaltet habe, hatte ich auf verschiedenen PCs 70 fps mehr (vielleicht weil sie schlecht programmiert war).
Posted By: Tobias

Re: Performance Probleme - 09/01/09 02:24

Ja, wenn ich Panels anzeige geht die Frame Rate auch deutlich runter. Panels kosten viel mehr Framerate als Entities.

Es macht anscheinend auch einen Unterschied, ob du immer die gleiche Entity renderst oder verschiedene, und wie gross sie ist. Wenn ich im Terraindemo nur eine Entity-Art habe und die beiden anderen auf 0 setze, bekomme ich mehr als 100000 Entities per Frame. Wenn ich aber den Baum doppelt groß skaliere, geht die Framerate in den Keller, obwohl die Zahl der Polygone gleich ist.

Es gibt viele Einflüsse auf die Framerate an die man nicht gleich denkt, daher muss man bei Framerateproblemen alles mögliche testen.
Posted By: Espér

Re: Performance Probleme - 09/01/09 11:41

also..

Wenn ich 250.000 Panels lade.. hab ich dennoch ne framerate von 60 ( bei fps_max 60 ).

Lade ich aber 49 Modelle mit je 96 Polys
und 2 Modelle mit knapp 2k Polys.. bekomm ich grademal noch 24 FPS


WO LIEGT DA DER SINN?????
Posted By: Petra

Re: Performance Probleme - 09/01/09 12:35

With the demo at 30 fps, A7 renders when I set the #defines to only one sort of entities:

either 63000 tree models with 400 polys each - 30 fps

or 81000 grass sprites - 30 fps

2500 are visible, the rest is clipped, so the grass sprites render faster than the tree models.

BUT: When I add 500 panels I get less than 20 fps!! And when I scale the trees bigger, less than 15 fps!!

Conclusion: entities that are not visible need almost no render time. When they are visible it depends not so much on their polygon count but also on their size how fast they render.

Posted By: Tobias

Re: Performance Probleme - 09/01/09 12:45

Yes, that's similar values that I'm getting, although my PC seems to be a little slower than yours frown. The tree model in the A7 demo has no internal LOD steps, so it should be the same frame rate with the Com and Pro editions.

The frame rate with panels mostly depends on the panel size, with an 8x8 bitmap you can render far more panels than with a 500x500 bitmap.

So it seems the number of entities or panels does not matter for the frame rate. Its mostly the number of pixels drawn on the screen that matters.
Posted By: garv3

Re: Performance Probleme - 09/16/09 13:34

Hallo zusammen!
Ich war jetzt leider länger nicht mehr aktiv im Forum. Aber es freut mich, dass hier weiter diskutiert wird und ich fühle mich dadurch bestätigt, dass einige Andere ähnliche Probleme haben bzw. dieses Phenomen replizieren können.

Und nun muss ich wirklich sagen, dass das einfach nicht sein kann!!! Wie soll man ein halbwegs vernünftiges Spiel erstellen, wenn man nicht mehr 500 Entities (inkl. Modellen, Sprites, Decals usw.) benutzen kann.
Das einzige, das sich kaum auf die Bildrate auswirkt sind die Partikel - kein Wunder, denn diese nutzen auch Instancing.

Also Conitec: Instancing für alle Entities - schnell!!!
Sonst muss ich ehrlich sagen, dass die Engine für mich absolut nutzlos ist. Und das Geld für die Pro hab ich verschwendet...
Posted By: roald

Re: Performance Probleme - 09/18/09 14:51

hi garv...

ich hatte ein ähnliches problem mit stühlen in einem konzertsaal;

interessanter weise lies sich das problem folgender maßen lösen (für mich komplett unverständlich): ich hab die stühle nicht im wed platziert sondern beim spielstart; position aus einem array ausglesen und pan bzw skalierung per random; gleiche anzahl von stühlen ergab eien verbesserung der framerate von fast 40% (98 fps/mdl im wed positioniert zu 136fps/mdl zur laufzeit positioniert...einmal abgesehen von den ersten frames wo die models platziert werden)


ich komm immer mehr zur überzeugung das einige dinge im GS sehr, sehr seltsam sind....

roald, ohne einhalt...
Posted By: rayp

Re: Performance Probleme - 09/18/09 16:42

Könnte am Stencil-Shadow liegen (merke ich auch grade).

Was ich dazu sagen wollte: Habe ein paar Modelle von HalfLife2 konvertiert ins MDL Format (natürlich nur für private Zwecke). Z.B. eine Granate, schon fast
low poly. Diese frisst 150MB Nexus. Was ich damit sagen will, manchmal sind die Models "defekt" was zu solchen Ergebnissen führen kann.

Auch sind BONES-Modelle zisch mal schneller wie FRAME-Modelle, aber das weisst
Du sicherlich.

Quote:
ich komm immer mehr zur überzeugung das einige dinge im GS sehr, sehr seltsam sind....
ohhhh ja.... grin

Quote:
Und nun muss ich wirklich sagen, dass das einfach nicht sein kann!!! Wie soll man ein halbwegs vernünftiges Spiel erstellen, wenn man nicht mehr 500 Entities (inkl. Modellen, Sprites, Decals usw.) benutzen kann.
Das einzige, das sich kaum auf die Bildrate auswirkt sind die Partikel - kein Wunder, denn diese nutzen auch Instancing.

Edit: Ich schliesse mich an! Bei allen "grösseren" Projekten stoße ich ruck-zuck an die Grenze der "flüssigkeit" !
Posted By: Zapan@work

Re: Performance Probleme - 09/18/09 20:46

Das mit den Bones stimmt leider nicht. Bone-Animationen sind immer "_viel_" langsamer als Frame-Animationen...
Posted By: garv3

Re: Performance Probleme - 09/19/09 00:03

Also bei mir liegt es nicht an Schatten. Denn selbst ohne Shader, Schatten usw. ist das Problem vorhanden. Nenene frown
Posted By: Tobias

Re: Performance Probleme - 09/19/09 08:51

Das ist doch nun alles schon xmal hier diskutiert wurden. Du musst die Entities entweder kleiner machen damit deine Graka weniger Pixel zeichen muss, oder einfach weniger Entities nehmen. Ab 120000 Entities geht das Demo bei mir in die Knie mit 10 fps, bei 30000 habe ich noch 60 fps. Alles unter 30000 dürfte also kein Problem sein zumindest von der Zahl der Entities her. Was anderes ist es wenn die Entities animiert sind oder Schatten haben, oder wenn zuviele gleichzeitig sichtbar sind.

Für Tips, guckst du hier: http://manual.3dgamestudio.net/framerate.htm
Posted By: amy

Re: Performance Probleme - 09/19/09 10:24

Overdraw is one of the most important factors. For example you can already get severe performance drops with only 20 entities (even if they only have 1 polygon) if you place and order them in a way that makes the graphics card fill the entire screen with pixels 20 times.
Posted By: rayp

Re: Performance Probleme - 09/22/09 04:59

Quote:
Das mit den Bones stimmt leider nicht. Bone-Animationen sind immer "_viel_" langsamer als Frame-Animationen...

Ich sprach mehr von der Speicherauslastung. Ich dachte bisher, der Nexus verkraftet ein BONE-Model zich mal besser als Framemodelle. Macht bei mir deftige Unterschiede.
Posted By: sPlKe

Re: Performance Probleme - 09/24/09 02:46

was sind das für models? wie groß sind sie in megabyte? wieviele frames haben die animationen? verwendest du interpolation frames? wie erstellst du die models? wie ist dein compile vorgang? hast du level geometrie in deiner map? welche map properties verwendest du?

wenn du willst, kannst du mir mal dein level schicken. keine angst ich klau dir nichts. mich würde nur intressiern wie das aufgebaut ist, dann kann ich dir helfen.
ich habe zb bei ambages einen wald, da hats hunderte bäume, die haben alle einen toon shader. da kommen dann partikelchen und spieerl und ander umgebungsmodels und level geomertie dazu, dynamische lichter und das alles auf einer 1600er auflösung läuft auf meinem system mit 30-45 FPS obwohl alles sichtbar, und mein system ist nicht gerade top. ich hab ne 8800er geforce ich kann nichtmal resident evil 5 auf niedrigster grafik zocken...
ihr mögt jetz sagen: 30fps ist wenig aber seinen wir ehrlich: alles über 30fps nimmt das auge eh kaum war das fällt niemandem auf...
Posted By: rayp

Re: Performance Probleme - 09/24/09 04:41

Nun stellt sich mir eine Frage...

Wenn ich das Model per Script runterskaliere (SCALE_X,Y,Z) ist das auch besser für die Framerate (wegen kleinen Models) ? Oder sollte ich es (wegen diesem Scenemanagement) im MED schon so klein wie möglich haben ? Ich denke mal es sollte im WED schon so klein wie möglich sein oder ?

mfg
Posted By: garv3

Re: Performance Probleme - 09/24/09 12:42

@sPIKE: Ich kann dir das Projekt gerne mal schicken - aber ich glaub nicht, dass du da mal eben durchblickst. Ist schon ziemlich umfangreich.
Wenn du dennoch mal einen Blick drauf werfen willst, sag Bescheid. Dann lad ich's irgendwo hoch...
Posted By: sPlKe

Re: Performance Probleme - 09/24/09 13:06

ich muss auch nicht durch den code. ich brauch vorallem die level files. also die wmps mitpacken laugh
Posted By: garv3

Re: Performance Probleme - 09/24/09 15:24

Du hast Post!
Posted By: sPlKe

Re: Performance Probleme - 09/24/09 16:30

problem gelöst laugh
Posted By: garv3

Re: Performance Probleme - 09/26/09 16:26

Nicht wirklich...
Posted By: sPlKe

Re: Performance Probleme - 09/27/09 10:03

doch...
Posted By: Rei_Ayanami

Re: Performance Probleme - 09/27/09 10:04

sorry für offtopic, aber

LOL ^^
© 2024 lite-C Forums