| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Meep! Registriert seit: Sep 2005
Beiträge: 146
| Wieviel partikel sollte man in as3 schaffen?
joa, wieviel partikel kann man maximal auf nem durchschnittsrechner ruckelfrei darstellen? ich habe ein partikelsystem geschrieben, aber ab 1000 partikeln wirds bei mir ruckelig... beispiel hier: http://www.pixartist.de/a.html hier nochn beispiel, bei diesem ruckelts bei mir aber auch praktisch nicht http://www.pixartist.de/a2.html
__________________ http://www.pixartist.de Geändert von pixartist (01-12-2006 um 23:18 Uhr) |
| | |
| | #3 (permalink) | |
| Meep! Registriert seit: Sep 2005
Beiträge: 146
| Zitat:
edit: ok hab nun statt floor round genommen, für die positionierung...sieht glaubich n bissel runder aus...hab das jetzt aber nicht hochgeladen
__________________ http://www.pixartist.de Geändert von pixartist (01-12-2006 um 23:25 Uhr) | |
| | |
| | #4 (permalink) | |
| Knopfmaler Registriert seit: Nov 2004 Ort: Essen
Beiträge: 227
| Zitat:
Wenn man über 12 fps als ruckelfrei ansieht, dann komme ich auf meinem G4 iBook 1Ghz auf ca. 46.000 Partikel. Partikel-Test ansehen Das lässt sich aber IMO bestimmt noch steigern. Viele Gruesse =:] Aerks | |
| | |
| | #6 (permalink) |
| x39 Registriert seit: Oct 2004 Ort: St.Gallen, Schweiz
Beiträge: 1.261
|
kommt sicher darauf an woraus ein partikel besteht, also wieviel Rechenpower pro Partikel draufgeht. In meinem ersten bisherigen AS3 Experiment komm ich auf 300 radiale Gradienten (in Actionscript dynamisch erstellt) , das sind 3-stufige gradienten. http://www.margaris.de/?p=1018 Und es ist gerade noch ruckelfrei auf meinem Rechner. (Intel Pentium M 1.7 Ghz, Samsung R50) Wenn ich dann baldmal AS3 komplett durchblicke dann lässt sich das sicherlich steigern. |
| | |
| | #7 (permalink) |
| Meep! Registriert seit: Sep 2005
Beiträge: 146
|
also bei mir läuft das so...die partikel gehören jeweils zu einem effekt, haben dynamische lebensdauer, farbe und alpha...werden von der schwerkraft beeinflusst, und bei ihrer generierung wird dynamisch per richtungsvektor ihre bewegungsrichtung ausgerechnet...ich check nicht wie der typ es geschafft hat 46k partikel so flüssig darzustellen...ich poste mal meinen code der hauptklasse: (der code ist sicher alles andere als optimal, ihr könnt mir ja mal nen tipp geben, wie ich die performance steigern kann!) Hauptklasse: ActionScript:
Effektklasse: ActionScript:
wär super wenn ihr das mal überfliegen könntet um mir n paar tips zu geben, danke
__________________ http://www.pixartist.de Geändert von pixartist (02-12-2006 um 18:39 Uhr) |
| | |
| | #8 (permalink) |
| Meep! Registriert seit: Sep 2005
Beiträge: 146
|
__________________ http://www.pixartist.de |
| | |
| | #11 (permalink) |
| Meep! Registriert seit: Sep 2005
Beiträge: 146
|
sagt mal, sind die werte ok oder zu langsam? xD
__________________ http://www.pixartist.de |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Apr 2002 Ort: Thüringen
Beiträge: 18
|
ca. 31 fps....allerdings läuft langsam aber sicher der CPU-Lüfter immer mehr. (AMILO M3438G, Intel Centrino Alviso 2,0 GHz)
__________________ People once believed that when someone dies a crow carries their soul to the land of the dead. But sometimes something so bad happens that a terrible sadness is carried with the soul and the soul can't rest. And sometimes just sometimes the crow can bring that soul back to put the wrong things right. |
| | |
| | #13 (permalink) | |
| Knopfmaler Registriert seit: Nov 2004 Ort: Essen
Beiträge: 227
|
Beim letzten Beispiel komm ich so auf rund 10 fps. G4-iBook ca. 1Ghz. Ich hab den Source jetzt nur mal so überflogen, aber ein paar Sachen, die man recht einfach ändern könnte sind mir aufgefallen. Du holst dasselbe Objekt jedesmal neu aus einem ungetypten Array. Das dauert. Code: pixellist[i].xp += pixellist[i].xv; pixellist[i].yp += pixellist[i].yv; pixellist[i].yv += gravity; pixellist[i].xv *= lws; pixellist[i].yv *= lws; Besser wäre es so, dann weiss der Compiler auch was er da vor sich hat. Das ist wesentlich schneller. Code: var obj:Particle=pixellist[i]; obj.xp += obj.xv; obj.yp += obj.yv; obj.yv += gravity; obj.xv *= lws; obj.yv *= lws; Math.round() sieht man eh kaum, würde ich weglassen. @shikamoo Zitat:
Viele Gruesse =:] Aerks Geändert von Aerks (03-12-2006 um 14:35 Uhr) Grund: Fehler im Source korrigiert | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |