I'm working on transitioning an arcade system based on Corona to Linux. We've had much success running the game on an Intel board and are very satisfied with the performance so far.
We previously tried the game on the Pi 3 as well, but the performance wasn't quite production worthy. Now that the Pi 4 has been released with some promising performance gains, we just had to try it out.
The game is a 2d pixel art platformer. Nothing too complex – just some sprites moving around on screen and simple physics.
The tests we've run below were all performed on Raspian Buster. The device is the 2GB Pi 4. GPU memory is set to 512MB.
Initially we ran the game in a maximized window in the default desktop environment. We noticed that most background animations, and a timer that appears on screen all operated smoothly. However player characters moved at about half their normal speed. CPU and RAM usage were fine (<30% and 50%, respectively). I set the CPU governor to stay at its max freq (1.5GHz). The CPU temp was <65C, so no throttling was occurring. I figured the bottleneck was the GPU.
Next, I disabled the desktop environment and ran the game directly on X (I thought eliminating the desktop environment would free up GPU resources). This improved gameplay performance considerably — everything, including player characters, moved at full speed. There is still occasional stuttering and glitching though, which brings me to my final point:
Now that we've seen some promising results, we're trying to figure out the feasibility of getting the game to 100%:
1) Is there any one super familiar with the Pi? CPU and memory usage appear to be fine, so I assume the GPU continues to be the bottleneck. Is there anyway to know for sure whether this is the case? Perhaps this is a driver issue? I've tried overclocking the GPU and CPU and it didn't seem to help. Any other tips to improve performance?
2) I know the Linux platform on Corona is a work in progress. Is there any room for improvements to be made in the Linux code to increase performance?
Maybe we're asking too much of the Pi, but are just trying to cover all our bases before we give up. Getting the Pi 4 working would be a big win for us and we have $ to offer to any Pi/Corona experts out there that can help us with a fix.