Gamestudio Links
Zorro Links
Newest Posts
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Help with plotting multiple ZigZag
by M_D. 04/26/24 20:03
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
M1 Oversampling
by jcl. 04/26/24 11:12
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
Eigenwerbung
by jcl. 04/26/24 11:08
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (1 invisible), 735 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
wandaluciaia, Mega_Rod, EternallyCurious, howardR, 11honza11
19049 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 4 of 8 1 2 3 4 5 6 7 8
Re: Framerate [Re: Hummel] #384304
10/01/11 21:23
10/01/11 21:23
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Ein guter Anfang wäre es meine Posts zu lesen...
Problem:
Quote:

Ich beschäftige mich erst seit wenigen Monaten mit dem Gamestudio und ich wollte eigentlich nur wissen, wieso bei einer hohen Anzahl von ganz einfachen Körpern (etwa 3000) wie Kugeln oder Würfel ohne Skin die Framerate einbricht und was für Möglichkeiten es gibt sowas zu optimieren. Es wurden ja schon die Voxel angesprochen, aber wie sieht dort die Vorgehensweise aus, wird sowas mit Sprites oder mit eigenen Programmen realisiert?

Antwort:
Quote:

Das Problem in diesem Fall ist dagegen wie Achim schon geschrieben hat, die hohe Anzahl an Objekten plus vermutlich noch die Physik. Von daher ist davon auszugehen, dass einfach nur die CPU nicht schnell genug ist um mehr Objekte zu handlen. Hier müsste man jetzt profilen um herauszubekommen ob das Problem die Drawcalls oder etwas anderes sind und davonabhängig könnte man dann optimieren, wenn man denn den Engine Sourcecode hätte... Bzw je nach ergebniss dann auch ein einzelnes großes Mesh aus den einzelnen Objekten generieren, was dynamisch aber eher zu langsam ist.

Von daher ist die Lösung hier wohl einfach akzeptieren und sich mit den Grenzen zu arrangieren laugh.



Problem:
Quote:

Ahja, aber eine wirklich hilfreiche Antwort hat eigentliche keiner von euch auf lager gehabt. wie z.b. "ja Voxel Modelle sparen oder sparen keine FPS ein"
Respekt das ist fachwissen und Hilfsbereitschaft (Wow Prinzip)

Antwort:
Quote:

wenn jedes Modell eine Box gleicher größe ist, das einfach als einen Voxel definieren, der jeweils eine Position und Rotation und Material mit Textur hat und an dieser Stelle mit den entsprechenden Eigenschaften eine Box platzieren. Marching cubes ist in dem Fall wohl eher unpassend. Was aman aber natürlich gut machen könnte, ist die Voxel dann alle zusammen in ein Mesh zu packen. Eine andere alternative die sicher sehr spannend wäre, ist das ganze mit Raymarching und ohne Polygone zu rendern, das lässt sich durch generieren einer Depthmap, was sich im Fall von Cubes mit bisschen Mathe lösen lassen sollte recht effektiv umsetzen, soweit ich weiß.


Re: Framerate [Re: Microtex] #384316
10/01/11 22:23
10/01/11 22:23
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Originally Posted By: Microtex
ich wollte eigentlich nur wissen, wieso bei einer hohen Anzahl von ganz einfachen Körpern (etwa 3000) wie Kugeln oder Würfel ohne Skin die Framerate einbricht und was für Möglichkeiten es gibt sowas zu optimieren. Es wurden ja schon die Voxel angesprochen ...

@Microtex: Vergiss all den Voxel-Unsinn, der hier geschrieben wurde. wink
Die richtige Antwort hatte Dir bereits Pappenheimer am 25.09.2011 um 21:51 Uhr gegeben.

Dein Problem liegt nicht beim Rendern der 3000 Objekte (3000 Models gleichzeitig darzustellen sollte normalerweise kein Problem sein), sondern es liegt an den PHYSIK-BERECHNUNGEN für all diese Objekte. Physikberechnungen, für so viele Objekte gleichzeitig, überfordern fast jede heutige Hardware.

Du musst also einen Weg finden, die Physik-Berechnungen zu optimieren (z.B. nur für diejenigen Objekte berechnen lassen, für die es wirklich gerade notwendig ist).

Re: Framerate [Re: Harry Potter] #384323
10/01/11 23:06
10/01/11 23:06
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Originally Posted By: Harry Potter

Dein Problem liegt nicht beim Rendern der 3000 Objekte (3000 Models gleichzeitig darzustellen sollte normalerweise kein Problem sein)

Kann nicht einmal jemand meine posts lesen? -.-
Ich gehe einfach mal davon aus, dass der Verfasser dieses Threads nicht so naiv ist und glaubt dass 3000 einfache Objekte die mit einander einiger maßen physikalisch kollidieren flüssig laufen. Entsprechend gehe ich davon aus, dass diese 3000 Objekte auch ohne Physik der Performance schaden und genau das erscheint mir nicht so falsch. Denn das Problem liegt beim CPU Overhead der beim Aufruf der fürs Rendern nötigen Funktionen existiert. 3000 einzelne Objekte die mehr oder weniger alle gleichzeitig sichtbar sind, sind einfach viel zu viele. Ein besserer Ansatz sind vielleicht 50 - 200 gleichzeitig für die gesamte sichtbare Umgebung mit zusammen meinetwegen 500000 Polygonen plus noch maximal 50 dynamische Objekte, die mehr machen als bisschen im Wind zu wehen, was sich sehr gut mit einfachen Shadern zum Beispiel lösen lässt.
Ich hab das in diesem Forum allerdings schon gefühlte 100 mal gepostet und irgendwie hat es noch nie jemand mitbekommen...

Re: Framerate [Re: Slin] #384332
10/02/11 00:52
10/02/11 00:52
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Originally Posted By: Slin
Kann nicht einmal jemand meine posts lesen? -.-
Ich habe Deine Posts gelesen. Aber Du hast offensichtlich die Posts von Microtex nicht richtig gelesen? wink

Originally Posted By: Slin
Ich gehe einfach mal davon aus, dass der Verfasser dieses Threads nicht so naiv ist und glaubt dass 3000 einfache Objekte die mit einander einiger maßen physikalisch kollidieren flüssig laufen.
Das hat nichts mit Naivität zu tun, sondern mit Praxiserfahrung bei der Spieleprogrammierung.
Und da Microtex erst seit ca. einer Woche hier im Forum registriert ist, und bisher nur 3 Beiträge geschrieben hatte, gehe ich mal davon aus, dass er ein Neuling ist, der sich noch nicht so gut auskennt. Außerdem schreibt er ja selbst "ich bin noch Gamestudio Neuling".

Und er wäre nicht der erste hier, der glaubt, dass man mit Gamestudio ganze Städte aus tausenden von Ziegelstein-Models bauen kann, die dann auch physikalisch korrekt zerstört werden können.


Originally Posted By: Slin
Entsprechend gehe ich davon aus, dass diese 3000 Objekte auch ohne Physik der Performance schaden und genau das erscheint mir nicht so falsch. Denn das Problem liegt beim CPU Overhead der beim Aufruf der fürs Rendern nötigen Funktionen existiert. 3000 einzelne Objekte die mehr oder weniger alle gleichzeitig sichtbar sind, sind einfach viel zu viele.
Wie ich schon oben geschrieben habe, liegst Du da aber falsch. 3000 einzelne Objekte sind überhaupt kein Problem.

In meinem Testlevel für mein Spiel (hier ein Screenshot) verwende ich sogar 4580 Objekte! Und mein Testlevel läuft absolut flüssig bei weit mehr als die 60 FPS, die mein Monitor wiedergeben kann. Und selbst wenn ich meinen Level von oben betrachte, sodass sämtliche 4580 Models gleichzeitig zu sehen sind, dann habe ich immer noch eine Framerate von ca. 40 FPS! Und das, obwohl ich einige Models verwende, die mehr als 10.000 Polygone haben.

Und Microtex schrieb, dass seine 3000 Models nur 12 Polygone haben (sind daher wahrscheinlich Quader oder Würfel). Deshalb schrieb ich, dass weder die Anzahl der Models, noch die Anzahl der Polygone ein Problem sein kann. Außer vielleicht auf extrem langsamen PCs.

Entscheidend sind natürlich auch noch andere Faktoren: zum Beispiel, ob eine Function/Action hinter jedem einzelnen Objekt hinterlegt ist, und wie rechenintensiv das Coding dahinter ist. Oder ob die Kollissionsprüfung für die Objekte aktiviert ist oder nicht, ob Schatten berechnet werden müssen oder nicht, etc. etc.!

Re: Framerate [Re: Harry Potter] #384334
10/02/11 01:12
10/02/11 01:12
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Das Entscheidene ist, dass wenn ich 1 mio Polygone in 3000 Modellen rendere oder 100k in 3000 Modellen, wird es mit einer aktuellen Grafikkarte kaum einen Geschwindigkeitsunterschied geben. Wenn ich dagegen die 1 mio Polygone in 100 Modellen rendere wird es vermutlich schneller sein als die 100k Polygone in 3000 Modellen. Und ja, mit einer schnellen CPU sind auch 5000 Objekte noch machbar, wenn ich aber jetzt womöglich noch Schatten und reflektierendes Wasser haben möchte bin ich plötzlich schon bei ca 20k Objekten und das ist nicht mehr wirklich akzeptabel schnell.
Wenn ich also den Bottleneck, was im Fall von 3000 Modellen mit wenig Polygonen die CPU ist, selbst ohne aufwändiges drumherum, dann macht es durchaus Sinn die Anzahl der Objekte zu reduzieren, was dann auch wieder Kapazitäten für andere aufwändigere und unverzichtbare Dinge bringt.

Quote:

Und er wäre nicht der erste hier, der glaubt, dass man mit Gamestudio ganze Städte aus tausenden von Ziegelstein-Models bauen kann, die dann auch physikalisch korrekt zerstört werden können.

Ich habe die Posts durchaus gelesen und hatte den Eindruck, dass Microtex eher nicht zu denen gehört laugh.

Re: Framerate [Re: Microtex] #384353
10/02/11 10:13
10/02/11 10:13
Joined: Sep 2011
Posts: 5
M
Microtex Offline OP
Newbie
Microtex  Offline OP
Newbie
M

Joined: Sep 2011
Posts: 5
@Slin Die Lösung kommt wohl wirklich noch am ehesten an das Problem da es sich nur um Würfel immer gleich bleibender Größe handelt die eine Textur besitzen sollen.

Quote:
Übrigens könnte man um zum Ausgangspost zurück zu kommen, wenn jedes Modell eine Box gleicher größe ist, das einfach als einen Voxel definieren, der jeweils eine Position und Rotation und Material mit Textur hat und an dieser Stelle mit den entsprechenden Eigenschaften eine Box platzieren. Marching cubes ist in dem Fall wohl eher unpassend. Was aman aber natürlich gut machen könnte, ist die Voxel dann alle zusammen in ein Mesh zu packen. Eine andere alternative die sicher sehr spannend wäre, ist das ganze mit Raymarching und ohne Polygone zu rendern, das lässt sich durch generieren einer Depthmap, was sich im Fall von Cubes mit bisschen Mathe lösen lassen sollte recht effektiv umsetzen, soweit ich weiß.


allerdings da ich Neuling bin ist das ganze bis jetzt eher unverständlich. Wie definiere ich also ein Voxel was jeweils eine Position eine Rotation und ein Material mit Textur hat.

MFG

Re: Framerate [Re: Microtex] #384354
10/02/11 10:20
10/02/11 10:20
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Sry, das war lediglich der Versuch das Niveau des Trollens etwas zu heben. Denn das ist dann nichts mehr anderes als was du sowiso schon machst.
Was genau versuchst du denn zu erreichen, was passiert mit den Boxen? Wenn du das erklärst lässt sich dein Problem vielleicht lösen.

Re: Framerate [Re: Microtex] #384356
10/02/11 10:41
10/02/11 10:41
Joined: Sep 2011
Posts: 5
M
Microtex Offline OP
Newbie
Microtex  Offline OP
Newbie
M

Joined: Sep 2011
Posts: 5
ich glaube um Niveau muss man sich in diesem Thread keine Gedanken mehr machen. Mein Problem lässt sich vielleicht lösen wenn du mir deinen Eintrag erklärst, oder mir zumindest sagen kannst ob es eine Anleitung dafür gibt und wenn es außer blöde Troll Kommentare hier nichts mehr gibt dann kann der Thread auch geschlossen werden bevor wieder die unendliche Zufälligkeit kommt.

Re: Framerate [Re: Microtex] #384357
10/02/11 10:44
10/02/11 10:44
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Quote:
Was genau versuchst du denn zu erreichen, was passiert mit den Boxen? Wenn du das erklärst lässt sich dein Problem vielleicht lösen.

Beantworte das einfach, das was ich da geschrieben hatte bringt dich nicht weiter, denn wie gesagt, ist das nichts anderes als das was du schon machst in dem du einfach 3000 Boxen erstellst.

Re: Framerate [Re: Slin] #384359
10/02/11 11:20
10/02/11 11:20
Joined: Aug 2011
Posts: 9
T
TazTheDevil Offline
Newbie
TazTheDevil  Offline
Newbie
T

Joined: Aug 2011
Posts: 9
Das mit den Phsysiks-berechnungen kann man gedrost in den Müll kloppen. die Blöcke sollen keinerlei Physikalische eigenschaften besitzen.

Stellen wir uns eine Fläche von 6000 Blöcke vor, jeder Block besitzt die maße 16x16x16 Pixel.
Texturen sind in dem Beispiel nicht vorhanden, bei dieser Anzahl von Blöcken bemerkt man schon eine sinkende Framerate.

Ich ging immer davon aus das die heutige Hardware in der lage ist so etwas ohne großen verlust an frames berechnen zu können.

Mir wurde dann gesagt das ein Voxel Modell wohl weniger Leistung braucht da man wenn ich es den dann richtig verstanden habe nur (im falle eines würfels) 6 Sprites per Koordinaten zu einem würfel verbindet.

Dieses mal bitte kein getrolle für warscheinliche Informationsfehler

MFG

Page 4 of 8 1 2 3 4 5 6 7 8

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1