Frage

Ich erinnere mich, eine Weile vor Lesung über eine Alternative (auch bekannt als schneller) Weg, um ein getPixel()-ish Verfahren durchzuführen.

Das Problem ist, ich weiß nicht mehr, wo ich das gelesen, und ich habe gesucht gründlich .. denke ich.

Die Antwort hatte etwas mit Verriegelung die Bitmap im Speicher zu tun, oder so ähnlich.

ich brauche getPixel() mehrere Male ausführen „pro-tick“, was sehr teuer ist wie es scheint.

Wer weiß, was ich rede?

War es hilfreich?

Lösung

Sie denken vermutlich über Bitmap.getPixels(), die alle Teile der Bitmap in ein Array kopiert. Von diesem Punkt an, Sie direkt alle Pixel mit einem einfachen Array-Zugriff zugreifen können, die viel schneller ist als Bitmap.getPixel() mehrmals aufgerufen wird.

Sie finden hier eine Performance vs. Speicher Entscheidung konfrontiert werden: Wenn Sie auf Abfrage benötigen Pixel viel und wenn Ihr Bitmap selten ändert, halten Sie die Anordnung um (auf Kosten des Arrays in Speicher). Wenn nicht, Release Interesse in der Anordnung so schnell wie möglich, um sicherzustellen, dass es bei Bedarf gesammelt werden kann. Offensichtlich vermeiden Aufruf getPixels() viel - die Idee ist es einmal anrufen und dann abfragen, um die Array oft

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top