저는 AVR 마이크로 컨트롤러와 소형 OLED 디스플레이를 기반으로 한 핸드 헬드 게임 장치를 설계했습니다.
128x64 픽셀의 흑백 디스플레이로 시작하여 초당 60 프레임 이상으로 편안하게 그릴 수 있습니다.
나는 최근에 약 4 FPS 만 달성 할 수 있다고 생각하지 않고 128x128 픽셀의 RGB OLED를 사용하도록 재 작업했습니다. 몇 가지 생각과 신중한 리팩토링 후에 다른 일을 너무 신경 쓰지 않으면 ~ 12fps까지 얻을 수 있습니다!
내 질문은-GBA (Game Boy Advance)와 같은 장치가 어떻게 거의 60fps의 프레임 속도를 얻었습니까? 별도의 '그래픽 프로세서'에 대해 생각했지만 여전히 디스플레이 데이터를 전송하는 데 병목 현상이 발생한다는 것을 깨달았습니다.
또한이 화면의 대부분은 vestigial 8 비트 병렬 인터페이스를 사용하는 것에 대해 궁금했습니다. 현대 MCU에는 직렬 및 비트와 같은 하드웨어 병렬 인터페이스가 없습니다. 두드리는 것은 많은 속도 이득을 먹을 것입니다.
다른 옵션이 있습니까?
현재 USART-SPI를 통해 SSD1306 OLED 컨트롤러에 연결된 ATmega1284P를 사용하고 있습니다. 이것이 흑백 버전입니다.
컬러 화면은 원래 하드웨어 SPI에 연결되지 않은 SSD1351입니다. 충분한 차이를 만들 것이라고 확신하지 못했습니다. 전체적으로 너무 느립니다.
더 빠른 MCU를 얻을 수 있다는 것을 알고 있지만 다른 옵션을 살펴보고 싶습니다. GBA 프로세서는 1284보다 훨씬 느립니다!