Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

21

17.04.2016, 18:08

Das letzte Release war aber vor dem Closen / Mergen des Issues, wenn ich das richtig nachverfolgt habe, so dass das in 2.3.2 wohl nicht drin ist? Dann müsste er auf Dev-Version arbeiten. Keine Ahnung, ob das bei SFML eine gute Idee ist.

buggypixels

Treue Seele

Beiträge: 125

Wohnort: Meerbusch

Beruf: Programmierer

  • Private Nachricht senden

22

17.04.2016, 18:14

Ich würde Partikel, deren zeit gerade abgelaufen ist, mit dem letzten aktiven Partikel tauschen und dann den Index runtersetzen.
Damit hast du dann immer eine aufeinander folgende Liste an aktiven Partikeln. Außerdem weißt du durch den Index auch genau, wie viele gerade aktiv sind. Zusätzlich mußt du nicht die ganze Liste beim Aktualisieren durchlaufen, sondern nur von Anfang bis Index.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

23

17.04.2016, 18:16

Zumeist ist das absolut kein Problem. Ich selbst nutze eigentlich auch nur Versionen direkt aus dem Git-Repo. Gemerged wird dort letztlich eh nur das, was durch diverses Testing durch ging. Also falls die Performance dadurch gesteigert werden kann und es unbedingt benötigt wird - einfach machen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

sw1

Frischling

  • »sw1« ist der Autor dieses Themas
  • Private Nachricht senden

24

28.04.2016, 21:01

Zitat

Um das zu umgehen, könntest du einen std::vector<char> verwenden


Habe ich mal versucht, funktioniert auch wesentlich besser. Aber ab einer großen anzahl an Partikeln (500000 aufwärts) ist es dennoch recht langesam im Vergleich zum C-Array.
Die anderen Verbesserungsvorschläge werde ich mir eventuell bei Gelegenheit mal ansehen, wobei ich bei einigen auch noch keine Erfahrung habe und ich es erst noch lernen müsste (Shader z.B.).

Zitat

Ich würde Partikel, deren zeit gerade abgelaufen ist, mit dem letzten aktiven Partikel tauschen und dann den Index runtersetzen.
Damit hast du dann immer eine aufeinander folgende Liste an aktiven Partikeln. Außerdem weißt du durch den Index auch genau, wie viele gerade aktiv sind. Zusätzlich mußt du nicht die ganze Liste beim Aktualisieren durchlaufen, sondern nur von Anfang bis Index.


Habe ich verbessert, funktioniert gut :) .

So wie es jetzt ist läuft es ganz gut und ist auch dicke ausreichend. Vielen Dank an alle :) .

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

25

28.04.2016, 21:13

Zitat

Um das zu umgehen, könntest du einen std::vector<char> verwenden


Habe ich mal versucht, funktioniert auch wesentlich besser. Aber ab einer großen anzahl an Partikeln (500000 aufwärts) ist es dennoch recht langesam im Vergleich zum C-Array.

Du kannst auch std::array benutzen ;)
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Werbeanzeige