Hi,
ich habe ein Spiel programmiert und muss innerhalb von wenigen Millisekunden an die 1000x1000 Berechnungen von einzelnen Spielfeldern durchführen.
Meine erste überlegte Variante ging schief und war viel zu langsam.
Ich weiss jetzt nicht welche Variante ich als nächstes Einsetzen sollte, vieleicht hat ja jmd. eine Entscheidungshilfe für mich.
1. Alle Felder in eine Liste (Vector/ArrayList) packen, mit einem einzigartigen Namen (Position) und dem zu verwertenden Wert.
- Nachteil: Da ich immer wieder die Nachbarfelder abfragen muss, muss ich immer wieder die gesammte Liste durchgehen und nach den Nachbarfeldern suchen.
- Vorteil: Jedoch muss ich in der Liste nicht alle Spielfelder aufnehmen sondern nur die zu berechnenden (steigende Zahl)
2. Alle Felder als Array[1000][1000] speichern.
- Nachteil: Ich muss zu jedesmal alle Felder überprüfen
- Vorteil: Ich weiss an welcher Stelle die Nachbarfelder sind
Ich weiss nicht für welche Methode ich mich entscheiden sollte... Ich möchte halt nicht eine völlig neue Methode ins Spiel implementieren, um später feststellen zu müssen, dass sie wieder viel zu langsam ist.
Besonderst ist halt die Frage ob Arrays schneller sind als Vectoren/ArrayLists
Vielen Dank schonmal
ich habe ein Spiel programmiert und muss innerhalb von wenigen Millisekunden an die 1000x1000 Berechnungen von einzelnen Spielfeldern durchführen.
Meine erste überlegte Variante ging schief und war viel zu langsam.
Ich weiss jetzt nicht welche Variante ich als nächstes Einsetzen sollte, vieleicht hat ja jmd. eine Entscheidungshilfe für mich.
1. Alle Felder in eine Liste (Vector/ArrayList) packen, mit einem einzigartigen Namen (Position) und dem zu verwertenden Wert.
- Nachteil: Da ich immer wieder die Nachbarfelder abfragen muss, muss ich immer wieder die gesammte Liste durchgehen und nach den Nachbarfeldern suchen.
- Vorteil: Jedoch muss ich in der Liste nicht alle Spielfelder aufnehmen sondern nur die zu berechnenden (steigende Zahl)
2. Alle Felder als Array[1000][1000] speichern.
- Nachteil: Ich muss zu jedesmal alle Felder überprüfen
- Vorteil: Ich weiss an welcher Stelle die Nachbarfelder sind
Ich weiss nicht für welche Methode ich mich entscheiden sollte... Ich möchte halt nicht eine völlig neue Methode ins Spiel implementieren, um später feststellen zu müssen, dass sie wieder viel zu langsam ist.
Besonderst ist halt die Frage ob Arrays schneller sind als Vectoren/ArrayLists
Vielen Dank schonmal