| |||||||
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) |
| aron ? da : weg Registriert seit: Aug 2001 Ort: Berlin
Beiträge: 410
| Array sortieren - Performance Problem
Ich habe mich gewundert, warum mein Game "stottert" mit zunehmender Spieldauer. Jetzt habe ich festgestellt, dass die Array-Sortiererei einfach zu langsam ist. Erschwerend kommt hinzu, dass ich FlashMX benutze und ein zweiter Array mitsortiert werden muss. Einen für die Punkte, einen für die Spielernamen ( hierzu habe ich die Funktion aus diesem Thread benutzt ). Der pointArray kann bis 150 Einträge haben. Hat jemand eine Idee, wie ich die Sortierfunktion beschleunigen kann? Oder nutzt Ihr vielleicht einen anderen Ansatz (evtl. mit Objekten)? Bin für jede Hilfe dankbar ![]() Aron |
| | |
| | #2 (permalink) |
| hmmmmm... Registriert seit: Feb 2004 Ort: deutschland
Beiträge: 112
|
hi, ich glaube die sortierfunktion die die dort benutzen nennt sich bubble-sort. ist nicht grad die schnellste. ausserdem glaub ich (habs mir jetzt nicht genau angeschaut), dass man die funktion noch verkuerzen koennte. ansonsten such doch hier oder bei google einfach mal nach sortier algorithmen und versuch die nach AS zu portieren. ein stichwort dafuer ist z.b. "merge-sort", aber es gibt auch noch mehr. und ich bin mir sicher, dass es alle algorithmen schon fuer AS gibt. musst sie nur finden .ansonsten hast du dir schon mal die actionscript eigenen sortierfunktionen angeschaut? die duerften ansich auch recht schnell sein. die heissen glaub ich "Array.sort()" und "Array.sortOn()". frag mich aber nicht, wie und was die genau machen. ich hoffe, das hilft etwas. gruss, kenichi
__________________ Visit Amakiir.net - WoW Community and more! |
| | |
| | #3 (permalink) |
| hmmmmm... Registriert seit: Feb 2004 Ort: deutschland
Beiträge: 112
|
den kannste ja mal versuchen... http://proto.layer51.com/d.aspx?f=301
__________________ Visit Amakiir.net - WoW Community and more! |
| | |
| | #4 (permalink) |
| aron ? da : weg Registriert seit: Aug 2001 Ort: Berlin
Beiträge: 410
|
Die Flash-Interne Sortfunktion ist auch megalahm. Ist aber auch keine Wunder, die Schleifen müssen ja schließlich array.length² durchlaufen. Da hilft keine Optimierung, das dauert einfach. Der "Misch"-ansatz von dir ist nicht schlecht. So hab ich's gemacht. Da nur ein Element hinzugefügt wird, ist es ja eigentlich garnich nötig, den ganzen Array neu zu sortieren. Es wird also nur überprüft, wann ein kleinerer Eintrag als der Neue in dem Array kommt. Hier wird dann der neue Eintrag eingefügt. Das selbe wird mit dem zweiten Array auch gemacht. ActionScript:
Danke ![]() Aron |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |