Bildpixel - Analyse - Programm |
17.02.2014, 23:06 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Bildpixel - Analyse - Programm Hallo, ich programmiere zur Zeit bzw. bin bereits damit fertig ein Bildpixel - Analyse - Programm zu schreiben. Dieses möchte ich in unterschiedlichen Programmen verwenden. Mein Problem dabei ist: es ist extrem rechenlastig/Zeit aufwändig und mein Programm hängt (manchmal) sich dabei solange auf bis es fertig berechnet hat. Der Pixel-Analyse-Code:
Was kann man hier optimieren, damit das ganze in einer akzeptablen Zeit abgeschlossen wird bzw. wie kann ich dem Benutzer besser mitteilen wie weit das Programm mit der Berechnung ist? Mfg InformaTiger |
|||||
|
||||||
18.02.2014, 14:10 | Auf diesen Beitrag antworten » | |||||
Karlito | Hallo Informatiker, - ArrayList mit richtiger größe verwenden, anstatt List - Damit Benutzeroberfläche nicht einfriert: Threads verwenden. Das ist das was mir bisher einfällt. Wenn ich heute Abend Zeit und Lust habe, versuche ich mich mal an einer optimierten Variante. Edit: Für die Mostfrequentpixels eine HashMap<Color, Int> verwenden! Das sollte das Zählen wesentlich schneller machen! VG, Karlito |
|||||
18.02.2014, 23:00 | Auf diesen Beitrag antworten » | |||||
ed209 | Hi, Es gibt sicher etliche Ratschläge die man generell geben kann, um ein bisschen Performance herauszukrazen. Aber was ich an deiner Stelle erstmal machen würde, ist eine Übersicht zu bekommen welcher Teil deines Programms wieviel Zeit benötigt. Es gibt Profiler-Programme dafür die dir das sagen, oder du schreibst einfach zu beginn jeder Methode eine kurze Routine, die die Zeit ausgibt. Dann siehst du welche Teile wirklich lange dauern. Das kannst Du dann versuchen weiter einzugrenen. Gruß, ED |
|||||
20.02.2014, 17:50 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Ok, ich habe mittlerweile heraus gefunden, dass der Teil mit dem ausgeben der Farben viel Zeit in Anspruch nimmt. Den habe ich jetzt einfach raus genommen. Der nächste Zeitfresser war das Listen von den ganzen Colors. Und das mit dem Thread habe ich zurzeit mal mit dem Backgroundworker gelöst. Was bringt aber im unterschied zu der List die ArrayList für Performance vorteile mit sich? Mfg InformaTiger |
|||||
Anzeige | ||||||
|
||||||
21.02.2014, 12:51 | Auf diesen Beitrag antworten » | |||||
Karlito | Hallo InformaTiger, die Vermutung, dass eine ArrayList oder nur ein Array besser ist als eine Liste, liegt in der Annahme, dass "List" eine verkettete Liste verwendet. Dazu müssen die Objekte, welche in die Liste aufgenommen werden sollen, in Listenelemente verpackt werden. Es wird sicher nicht allzu viel bringen, aber es sollte einen kleinen Vorteil geben. Miss es doch einfach mal. VG, Karlito |
|||||
21.02.2014, 19:14 | Auf diesen Beitrag antworten » | |||||
InformaTiger | OK, danke für deine Hilfe Ich habe mittlerweile noch den Quelltext ein wenig angepasst.
Mfg InformaTiger |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|