sydarn2 wrote: ↑
Tue Nov 09, 2021 5:44 am
For me a 320x240 display is still enough
The display resolution will be a constraint. The larger the display resolution, the more memory is required for frame buffers. In the ODROID-GO, this was mitigated in that 8bit buffers were color converted and scaled "in place" during rasterization to the LCD. This can not (typically) be done on a device with a real display controller. Instead, a minimum of double buffering of the actual frame contents is required.
320 x 240 x 2 (16bit) x 2 (buffer count) = 307200 bytes = 0.3MB
480 x 320 x 2 (16bit) x 2 = 614400 bytes = 0.6MB
480 x 320 x 4 (32bit) x 2 = 1228800 byte = 1.2MB
Since most 480x320 LCD panels are actually 16bit internally, the 16bit frame buffer makes the most sense. The 32bit is required for alpha compositing (overlays) and would be used internally by applications/emulators.
The maximum sound buffer memory would be:
48000 (samples) x 2 (channels) x 2 (16bit) = 384000 bytes / second
384000 bytes / 60 (fps) = 6400 bytes / frame
6400 x 2 (buffers) = 12800 bytes