pebri86 / esplay-retro-emulation

Retro Emulation Collection for ESPlay Hardware, an ESP32 based game console
https://www.makerfabs.com/esplay-micro.html
MIT License
444 stars 88 forks source link

GBC games slower with upscaling via bilinear interpolation #37

Closed mReXiTuS closed 10 months ago

mReXiTuS commented 10 months ago

I've noticed when playing GBC games (Pokemon Gold/Silver) that when using bilinear interpolation upscaling, game is running slower and audio is choppier comparing to "native" resolution or upscaling with "nearest neighbour".

I suppose it's because bilinear interpolation is more complicated algorithm to calculate, so CPU is probably not powerful enough to handle it. However, is there any way how this can be optimised? Using "nearest" upscaling looks pretty bad and "native" resolution is just small to play comfortably. Or maybe using different display with 4x resolution of GBC like (320x288) would be possible? Then upscaling would be simple to do without compromising graphic quality.

pebri86 commented 10 months ago

hi sorry for late reply, yes you're right the cpu is not powerful enough. the problem is the bigger resolution display the bigger number to processing the image, so i would propose you use lcd with similar resolution to original gameboy lcd, ie st 7735 160x128 pixel

mReXiTuS commented 10 months ago

Gotcha! Thanks