Hallo,
ich arbeite immer noch an meinem Plugin für die Logitech G19 und habe nun ein weiteres Problem, welches die Performance betrifft.
Die G19
DLL erlaubt es, ein 320x240 Bitmap auf den Bildschirm der Tastatur zu legen und das bis zu 60 mal pro Sekunde.
Bisher möchte ich lediglich eine Progressbar anzeigen lassen, welche ich zuvor auf ein Bitmap32 zeichne.
Allein das häufige Zeichnen lässt die CPU schon ordentlich arbeiten (5% bei einem AMD FX-8120, per Timer gesteuertes Neuzeichnen alle 30ms) und die
DLL Funktion will das Bitmap auch als Bytearray haben, welches 320*240*4 Bytes enthält.
Ein Pixel setzt sich dabei aus je 4 Bytes zusammen: B G R Alpha
Um das Bitmap jetzt in ein solches Array zu konvertieren wird jedes Mal eine Schleife über alle Pixel des Bitmaps durchlaufen und die Farben dann
in das Array geschrieben (Seit Kurzem gibts dabei jetzt eine Zugriffsverletzung, obwohl es bis eben noch klappte - Reboot wirds schon richten).
Bei diesem Verfahren rackert der Prozessor dann bei 12% und das ist für ein kleines Applet wesentlich zu viel!
Gibt es eine Alternative, die 320*240 Grafiken zu erstellen und diese als Bytearray zu formatieren, ohne dabei derartig Ressourcen zu verballern?
Viele Grüße!