Speicher sparen und Speed erhöhen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Hex²

Betreff: Speicher sparen und Speed erhöhen

BeitragSo, Apr 24, 2005 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollt mal Fragen, ob Ihr ein paar Tips habt, was man alles tun kann um den Speed zu verbessern.

Ich programmiere grad (also jedenfalls versuche ich es anhand dieses Projektes alles zu erlernen) so einen EgoRollenSpielShooter (im Stil vom Vampire (bitte jetzt nicht direkt vergleichen, ich meine nur halt so Egoansicht mit Rollenspielelementen)).

Das größte Problem ist nun die Größe der Maps. Dazu auch Partikel, wenn ICH etwas mache wird es irgendwie immer arschlahm. Und da habe ich mir mal die Partikel Candy Demo angesehen und bemerkt das nicht gerendert wird was man auch nicht sieht.

Wie realisiere ich denn sowas? Ich müsste also prüfen was man sieht und alles was man nicht sieht wird zwar weiterhin berechnet (koordinaten und speed) aber eben nicht "in die Welt" gesetzt ja? Gibt es dafür ein kleines Beispiel?

Was für Möglichkeiten gibt es noch um Speicher zu sparen und/oder Speed zu erhöhen? (abgesehen davon das man nur ein schwarzes Bild anzeigt *fg*)

Jan_

Ehemaliger Admin

BeitragMo, Apr 25, 2005 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, in deinem fall, würde ich die benutzung von BSP Levels entfehlen (q3radiat) da ist das schon mit drinne, ansonsten ist das ein großes Thema.
between angels and insects

stfighter01

BeitragMo, Apr 25, 2005 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du immer alle aktionen berechnest die passieren können wirds sicher lahm.
am besten du unterteilst deine welt in quadranten, und machst nur die teile sichtbar die in deinem und unmittelbar rundherum befindlichen quadranten liegen.
ich würde auch nur die objekte u. personen berechnen die in diesen blöcken liegen.
aber das thema optimierung ist, wie jan_ gesagt hat, ein riesengrosses.


mfg stfighter
Denken hilft!
 

David

BeitragMo, Apr 25, 2005 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Das IBSP Format von id nutzt, zur optimierten Darstellung, BSP Bäume und ein PVS. Das müsste, wie bereits erwähnt, von Blitz3D automatisch unterstützt werden. Nett wäre, wenn du uns etwas über die Details aufklären könntest, was für Daten bzw, was für ein Levelformat nutzt du etc...

Ansonsten kannst du dich mit oben genannten Themen auseinandersetzen, wobei ich nicht weis ob Blitz3D genug Freiheiten für Frustumculling & CO lässt! Wink

Aber probiers halt mal.

Stichworte: BSP Trees, PVS, Portals, Frustum Culling, Octrees, Quadtrees etc...

grüße
 

Hex²

BeitragDi, Apr 26, 2005 0:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Warscheinlich ist das Thema nicht ganz richtig im Anfängerforum Very Happy

Naja, also erstmal danke, besonders für die Stichworte (die helfen schon ein wenig für Infos).

Ich hab überlegt ob ich mit Cartography Shop arbeite, ich hab mir mal beim Kumpel angeschaut was das so kann und es gefällt mir gut. Zumal es stark an eines meiner Lieblingsprogramme erinnert *fg*.

Kann ich denn mit Radiant auch Lightmaps erstellen? Weil dann wäre das als Kostenlose Alternative natürlich die erste Wahl.

Ist denn das BSP Format ansich frei nutzbar ? Auch für kommenzielle Projekte ? Btw: ich habe mal gelesen, das man ja zwar in Blitz3D Mp3s laden kann, aber ohne Frauenhofer Lizenz nicht kommenziell nutzen darf, stimmt das ?

Ansonsten habe ich mir schon sowas überlegt wie Quadranten, bin mir nur nicht sicher wie ich das lösen soll, ohne ständige Ladezeiten, die zwar relativ kurz wären, aber dennoch Stocken des Spieles hervorrufen. Habe ich das BSP Maps richtig verstanden? Die haben schon etwas drin, das es beschleunigt ?

Ich hab mir überlegt, so Dinge wie "ist die Tür schon aufgemacht oder noch zu" wegzulassen und Türen fallen einfach wieder zu. Das ist irgedwie in allen Spielen so, und ich hab das Gefühl daß dies nur gemacht wurd weil es enorm viel Rechenzeit spart Very Happy

Ich hab mich die Anfangszeit gar nie so damit beschäftigt, aber nachdem ich mir angefangen habe eine GUI für das Game zu machen und eine Konsole, ist mir schnell aufgefallen welchen Sinn FreeImage und Co machen *fg*...

Ich habe nur absolut keine Vorstellung wie ich das bei Partikeln mache. Wenn z.B. da grade ein wildes Feuerwerk an Raketen umherfliegt. Dann ist es sicherlich sinnvoll nur die Sprites ins Bild zu setzen, die man auch sieht. Die Koordinaten müsste ich ja weiter berechnen. Ist das so möglich mit Befehlen? Also mit welchen Befehl kann ich ermitteln was die Cam sieht? Oder muß ich da irgendwas berechnen? Wenn ja geh ich mal davon aus das man irgendwie den Zoom und die Sichtweite einbeziehen muß.
 

David

BeitragDi, Apr 26, 2005 7:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wenn du deine Map in Quadranten einteilst, machst du das entweder einmal beim Laden oder speicherst die Daten sogar mit in deine Mapdatei. Dann stockt das Spiel auch nicht. Und, ja das IBSP Format speichert den BSP Baum und die PVS Daten in der Map und Blitz3D nutzt diese auch zur Optimierung.
Allerdings darf das IBSP Format, meines Wissens nach, für komerzielle Projekte nicht frei verwendet werden.

Für die Partikel musst du eigendlich nur prüfen ob sie sich innerhalb deiner sechs Viewplanes befinden. Ich glaube es gibt einen Befehl (EntitiyInView()? ) der diesen Test durchführt.

grüße
 

Dreamora

BeitragDi, Apr 26, 2005 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hex: das würd ich lassen mit CS, ausser du hast lust dir deine importer / exporter selbst zu schreiben, denn den macher kratzt es net im geringsten, dass der einzige exporter (x) verbugt ist als auch der lightmapper
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Hex²

BeitragDi, Apr 26, 2005 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach tatsache, EntitiyInView() machts einem ja mal wieder leicht Wink

@Dreamora: Bist Du sicher ? In der Version von meinem Kumpel (kA welche Versionsnummer er nun hat) kann man auch als 3ds und als b3d exportieren und das (soweit ich es sehen konnt) ohne Fehler.

Dazu gibs auch irgendwo ein Source, wie man die CSM Datei direkt einbinden könnte

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group