ich habe da noch mal ein Problem und dachte ich frage hier nochmal nach. Bin nicht so fündig geworden wie ich es mir gewünscht habe. => i2C hat keine schnelle Framerate
und zwar wie kann ich die Bildwiederholungsrate oder Aufbaurate von einem Display 1,5" 128x128 SSD1327 (i2C Anschluss) erhöhen das es nicht so krass abgehakt aussieht um so flüssiger um so schneller um so besser
Mitee:
... das es nicht so krass abgehakt aussieht ...
Bei meinen Spielen mit OLED-Displays bin ich irgendwann darauf gekommen, zuerst das neue Bild zu übertragen und erst dann dafür zu sorgen, dass das Display aktualisiert wird. Wenn Du vor der Anzeige des neuen Bildes das Display löschst und aktualisiert (bevor Du das neue überträgst und anzeigst), kommt es zum Flackern.
Tommy56:
Der SSD1327 kann auch SPI und 8 Bit parallel. Die sollten beide schneller sein.
Manches Mal hilft es auch, das Programm sinnvoll zu gestalten.
Gruß Tommy
SPI ist keine Option für mich
gregorss:
Bei meinen Spielen mit OLED-Displays bin ich irgendwann darauf gekommen, zuerst das neue Bild zu übertragen und erst dann dafür zu sorgen, dass das Display aktualisiert wird. Wenn Du vor der Anzeige des neuen Bildes das Display löschst und aktualisiert (bevor Du das neue überträgst und anzeigst), kommt es zum Flackern.
Ich habe mir eine eigene kleine Bibliothek geschrieben, in der es getrennte Funktionen für das Zeichnen und dann Übertragung des Puffers/Aktualisierung des Displays gibt. Code sieht da z. B. so aus:
clearBuffer(); // Loeschen des Display-Puffers (im RAM des Arduino)
line(0,0,127,63); // Diagonale zeichnen (auch im RAM)
update(); // Erst jetzt wird der Puffer zum Display uebertragen und das Display aktualisiert (angezeigt)
Blöderweise ist Dein Display 128 x 128 (einfarbige) Pixel groß, d. h. der Puffer müsste das vollständige RAM (2 kB) benutzen können, was nicht möglich ist. Ich fürchte, Du müsstest heftig tricksen - wenn es überhaupt geht. Ich hatte meine Infos damals von dieser Seite.