我一直在基于AVR微控制器和小型OLED显示器设计自己的手持游戏设备。
我开始使用128x64像素的单色显示器,并且可以以每秒60帧以上的速度舒适地绘制它。
我最近对其进行了重新设计,使其使用128x128像素的RGB OLED,但并没有想太多,只是发现我只能达到大约4 FPS。经过一番思考和仔细的重构,如果我对任何其他事情都不在乎的话,我可以将帧率提高到约12fps!
我的问题是-像GBA(Game Boy Advance)这样的设备如何达到接近60fps的帧率?我曾考虑过要有一个单独的“图形处理器”,但意识到将显示数据传输到此仍然会遇到瓶颈。
我还想知道使用这些屏幕中大多数都带有残留的8位并行接口,这可能使我的屏幕速度提高8倍,除了现代MCU不像串行和位串行接口那样倾向于具有硬件并行接口。敲打可能会消耗很多速度。
还有哪些其他选择?
我目前正在使用通过USART-SPI连接到SSD1306 OLED控制器的ATmega1284P。那是单色版本。
彩色屏幕是SSD1351,最初未连接到硬件SPI。我不相信这会带来足够的变化,总体来说太慢了
我知道我可以获得更快的MCU,但是我想知道我可以探索的其他选择-GBA处理器比我的1284慢得多!