Schnellere Sortierung?

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

BeitragSa, Jun 19, 2010 1:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu 1) Das tritt ja eben bei meinen Tests sehr oft auf Smile Mir reichen meistens wenige Partikel nicht, wie man an dem Screenshot im Worklog sah.

Zu 2) Das liegt am späteren Nutzer, was dieser eben verwendet. ich bevorzuge Alphatexturen, da ich dadurch korrektes AdditivBlending bekomme. Außerdem, war es denn nicht schon immer bei selbsterstellten Meshes mit Flag VertexAlpha, das Triangle-Z-Order nicht so perfekt war?

Zu 3) Die Kameraposition wird zwischengespeichert, Aber bei meinen tests mit 2^31-1 Aufrufen(Integerlimit :/ ) habe ich eigentlich bei beiden dieselben geschwidigkeiten gehabt.

Zu 4) Das kann ich als Option einbauen, als vorgeschriebener Standard kommt sowas nicht gut.

Danke an Midimaster, durch ihn habe ich eine Lösung zur langsamen sortierung gefunden(eine 2. Type, die einfach nur die Distanz und das handle zum Particle enthält. Geht erstaunlich flott Smile ). Edit: Thema Erledigt!

Edit: @hectic Ich fühle mich gar nicht angegriffen Smile. Math_Distance3 ist eine Sqr berechnung(Radiale distanz)
  • Zuletzt bearbeitet von Xaymar am Sa, Jun 19, 2010 12:40, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Jun 19, 2010 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Falls ich dich missverstanden habe, fühle dich bitte nicht angegriffen.

Mein Beitrag war schon etwas zynisch, was aber deutlich machen sollte, dass man bis zu 2^16 Partikel in Echtzeit eigentlich unterlassen sollte. Man nimmt dann weniger Partikel, die dann eventuell etwas größer sind und durch bessere Tricks der Texturierung und Bewegung das wieder ausgleichen.

Außerdem kann man die Partikel schon entsprechend ''richtig'' erzeugen. Ich habe leider kein Screenshot von dir gesehen was besonders viele Partikel bräuchte, oder meinst du vielleicht https://www.blitzforum.de/upload/file.php?id=8809 ? Probier in so einem Fall folgendes mal aus: Erzeuge die Partikel mal probeweise nicht am Ende eines Types, sondern am Anfang bzw. umgekehrt. Dann werden neu erstellte kleine Partikel nicht die großen alten Rauchpartikel überdecken. Die wahrnehmbaren Darstellungsfehler minimieren sich um einiges.

Zu 2) Es wahr im übrigen nicht nur schon immer so, sondern auch in allen anderen Programmiersprachen so. Liegt daran, wie das ganze Zeug berechnet wird. Also keine Sorge. Solltest du auf eine andere Programmiersprache umsteigen, hast du zunähst wieder das gleiche Problem.

Zu 3) Das mag an deinem System liegen, bei einem anderem wiederum nicht. Eine ATI macht sich zum Beispiel nichts aus vielen Triangles, und beschwert sich nur über eine große Fillrate. Eine Nvidia dagegen kotzt gleich ab, wenn paar Triangles zu viel auf den Bildschirm sind, macht sich aber nichts über die Fillrate. Daher bitte immer so gut wie möglich optimieren.

Zu 4) Wenn es um deine eigene Sortierung geht, kannst du Statt zum Beispiel If Sqr(x1^2+x1^2)>Sqr(x2^2+x2^2) Then auch genauso gut If (x1^2+x1^2)>(x2^2+x2^2) Then machen. Hat nichts mit einer Option zu tun. Da ich aber deine Math_Distance3 nicht kenne, kann ich auch nicht sagen, wie du die Berechnungen anstellst.

- - -

Trotzdem gut, wenn du dich bei Midimaster für seine Hilfe bedankst. Hätte ich auch gerne hier gewusst gehabt. Vielleicht hast du ja einen noch besseren Weg gefunden. So hätte man sich gegenseitig unterstützen können. Wink
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group