Bir AVR mikroişlemci ve küçük bir OLED ekrana dayanarak kendi avuç içi oyun cihazımı tasarlıyorum.
128x64 piksel monokrom ekranla başladım ve saniyede 60'dan fazla kareyle rahatça çekebiliyordum.
Geçenlerde bir RGB OLED, 128x128 piksel, sadece 4 FPS elde edebileceğimi bulmak için fazla düşünmeden kullanmaya çalıştım. Bazı düşünce ve dikkatlice yeniden yapılanmadan sonra, başka bir şey yapmayı çok fazla umursamıyorsam, bunu ~ 12fps'ye kadar alabilirim!
Sorum şu: GBA (Game Boy Advance) gibi bir cihaz yaklaşık 60 kare / sn kare hızına nasıl ulaştı? Ayrı bir 'grafik işlemcisi' olduğunu düşündüm ancak ekran verilerini buna aktarırken hala darboğaz olacağımı fark ettim.
Ayrıca, bu ekranların çoğunun sahip olma eğiliminde olduğu 8 bitlik bir paralel arayüzü kullanmayı da merak ettim, bu da beni 8 kat hızlandırabilir, modern MCU'ların seri ve bit için olduğu gibi donanımsal paralel arayüzlere sahip olma eğiliminde olmaması dışında Vurmak muhtemelen hız kazancının çoğunu tüketir.
Başka hangi seçenekler var?
Şu anda USART-SPI üzerinden bir SSD1306 OLED kontrol cihazına bağlı bir ATmega1284P kullanıyorum. Bu tek renkli versiyonudur.
Renkli ekran bir SSD1351 idi, orijinal olarak donanım SPI'sına bağlı değildi. Yeterince fark yaratacağına ikna olmadım , genel olarak çok yavaş
Daha hızlı MCU'lar alabileceğimi biliyorum, ancak başka hangi seçenekleri keşfedebileceğimi bilmek istiyorum - GBA işlemcisi 1284'ümden daha yavaş!