我一直在围绕 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 慢得多!