Gamestudio Links
Zorro Links
Newest Posts
Executing Trades on Next Bar Open
by Zheka. 06/20/24 14:26
Lapsa's very own thread
by rki. 06/19/24 11:27
A simple game ...
by VoroneTZ. 06/18/24 10:50
Face player all the time ...
by bbn1982. 06/18/24 10:25
Zorro Beta 2.61: PyTorch
by jcl. 06/10/24 14:42
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (Martin_HH, TipmyPip), 1,279 guests, and 10 spiders.
Key: Admin, Global Mod, Mod
Newest Members
squik, AemStones, LucasJoshua, Baklazhan, Hanky27
19060 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Performance Probleme #426716
07/27/13 20:12
07/27/13 20:12
Joined: Jul 2013
Posts: 49
Germany
F
Firewall Offline OP
Newbie
Firewall  Offline OP
Newbie
F

Joined: Jul 2013
Posts: 49
Germany
Hallo lieben Community,

ich habe ein paar kleine Fragen zur Performance von Anwendungen.

Ich programiere zur Zeit einen Klon von Minecraft (ich werde ihn nicht veröffentlichen, er dient nur zum Übungszweck). Meine Welt ist noch nicht unendlich, aktuell ist sie 25x25x10 groß und fast jedes Feld ist mit einem Block versehen.

Es gibt nur ein Block-Modell (cube.mdl), das per Code seinen Skin zugewiesen bekommt. Wenn ich nun das Spiel starte, habe ich ungefair 60 FPs. Auch mit Mobs wird es nicht viel weniger.
Vergrößere ich nun die Welt, habe ich das Problem, das die FPS teilweise auf 3 - 5 fallen.

Ich wollte also fragen, ob mir vielleicht jemand ein Tutorial emphelne kann, wo nur bestimmte Chunks geladen werden und somit auch nur im aktiven Chunk, die Funktionen der Entitys laufen.

Und zum anderen, habe ich schon oft gehört, das viele Leute auf die Möglichkeit zurückgreifen, bei Blöcken, die aktuell nicht Sichtbare Seite auszublenden. Leider habe ich nichts passsendes Gefunden.

Und meine letzte Frage währe, ob es einen Ersatz zu c_trace gibt, das es schon einiges an Leistung zieht.

Lieben Gruß,
Jordan


Have Fun grin
Re: Performance Probleme [Re: Firewall] #426718
07/27/13 21:26
07/27/13 21:26
Joined: Oct 2011
Posts: 1,082
Germany
C
Ch40zzC0d3r Offline
Serious User
Ch40zzC0d3r  Offline
Serious User
C

Joined: Oct 2011
Posts: 1,082
Germany
Da brauchst du voxels, keine modelle.
Entities fressen in GS einfach viel zu viel Leistung^^

Re: Performance Probleme [Re: Ch40zzC0d3r] #426720
07/27/13 22:08
07/27/13 22:08
Joined: Jul 2013
Posts: 49
Germany
F
Firewall Offline OP
Newbie
Firewall  Offline OP
Newbie
F

Joined: Jul 2013
Posts: 49
Germany
Danke für die Rückmeldung. Leider habe ich weder bei Google noch hier im Forum (oder manual) etwas zu Voxeln in kombination mit 3D-Gamestudio gefunden. Hat vielleicht einer einen Link zu einem Tutorial oder so?

Wäre sehr nett =)

Liebe Grüsse,
Jordan


Have Fun grin
Re: Performance Probleme [Re: Firewall] #426722
07/27/13 23:01
07/27/13 23:01
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Um einen Minecraft Klon mehr oder weniger erfolgreich umsetzen zu können, musst du dich in Mesh Generation und Manipulation einarbeiten, sprich direkt mit Direct X arbeiten und "chunks" von bspw. 16x16x16 cubes zu einem einzigen Mesh (einer Entity) zusammenschmelzen, um die Anzahl an Drawcalls zu reduzieren. c_trace ist für Bewegungscodes inklusive Schwerkraft u.ä. dann komplett überflüssig, weil du bspw. einfach die Höhe eines Blockes unter der Figur über das Array an Blockinformationen bestimmen kannst.

Diese Meshgeneration ist aber nicht ganz einfach, falls du dich damit aber auseinandersetzen möchtest, kannst du ein Projekt aus einem Contest von vor ein paar Jahren zur Vorlage verwenden, welches genau so etwas tut, und ich glaube das war TBNICCUW (the best name I could come up with) oder so, wahrscheinlich von fogman.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Performance Probleme [Re: Superku] #426724
07/28/13 00:27
07/28/13 00:27
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Quote:
Und zum anderen, habe ich schon oft gehört, das viele Leute auf die Möglichkeit zurückgreifen, bei Blöcken, die aktuell nicht Sichtbare Seite auszublenden. Leider habe ich nichts passsendes Gefunden.

Das ist schon seit einiger zeit standart (wird über directx gemacht und ist auch in 3dgs aktiviert)


POTATO-MAN saves the day! - Random
Re: Performance Probleme [Re: Kartoffel] #426725
07/28/13 00:30
07/28/13 00:30
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Ich hab vor zwei Jahren mal ein Framework für Minecraft-artige Spiele geschrieben:
http://www.opserver.de/ubb7/ubbthreads.php?ubb=showgallery&Number=369996

Vllt. hilft es dir weiter, es supportet ne ganze Menge Kram wink


Visit my site: www.masterq32.de
Re: Performance Probleme [Re: MasterQ32] #426729
07/28/13 08:59
07/28/13 08:59
Joined: Jul 2013
Posts: 49
Germany
F
Firewall Offline OP
Newbie
Firewall  Offline OP
Newbie
F

Joined: Jul 2013
Posts: 49
Germany
Okay, danke Leute. Also ich werde mich dann mal mit Meshes und dergleichen beschäftigen. Ich werde mir auch mal dein Framework anschauen @MasterQ32.

Ich habe das jetzt so verstanden, dass man einen Chunk (z.B. 6x6x6) zu einer einzigen Entity zusammenschmelzen muss. Der Inhalt des Chunks wird in Voxeln gemacht und wenn man einen Block abbauen möchte, muss man den Mesh manipulieren.

Habe ich das so richtig verstanden? laugh


Have Fun grin
Re: Performance Probleme [Re: Firewall] #426731
07/28/13 09:49
07/28/13 09:49
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
es wird wahrscheinlich leichter sein, den mesh nach dem ändern eines blocks neu zu erstellen aber vom prinzip ist das richtig

ich würde aber größere chunks verwenden (16³, wie minecraft oder 16*16*[maphöhe] um nochmehr drawcalls zu sparen.)

In dem 2. fall wird man aber evtl. an das polylimit stoßen (afaik: max. 65535 weil ein unsigned short für die buffer-größe verwendet wird)
man kann auch größere buffer verwenden, aber ob das mit 3dgs ohne weiteres geht, bezweifle ich...

Edit: achso, natürlich musst du auch beim meshen eines chunks alle nicht sichtbaren blockseiten ignorieren (also die, die IN blöcken sind), weil man sonst locker über 15m polygone kommt wobei extremst viel garnicht gebraucht wird.

Last edited by Kartoffel; 07/28/13 09:59.

POTATO-MAN saves the day! - Random

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