I too had this problem. As I found out, it is what Pieter once mentioned, that the GPU cannot keep up.
The "Worlds" theme from CoinOPS has a ton of artworks and animations that causes high GPU load.
I tested on my laptop with an NVIDIA NVS5200. By default it uses the integrated Intel HD graphics and GPU usage reaches 100% when video starts to play. Then it starts to slow down.
After manually set it to use the NVS5200, GPU usage is still high but hovers around 93%. No slow down this time but the machine runs hot!
I then switched to the Animatic and the RAW theme. Those use a lot less GPU, about 30--60%, and no slow down. But the machine still gets hot after a while.
So I got curious why it requires so much GPU power to play some 640x480 video. I downloaded the code and started to read it...I've been writing C++ for many years but am totally new to this GUI/SDL thing. It took me a while to learn/realize this "render loop" concept that might be the "Hello World" equivalent for game developers. So basically, the program has such a loop:
- Take user input
- Determine what happens, how each GUI element moves/changes etc.
- Wipe the screen clean then redraw everything.
- Repeat.
That "redraw everything" part indeed includes everything, like the background image, logos on the wheel, texts, and of course the next video frame. Every single GUI element gets redrawn no matter it changes or not.
That sure sounds like a lot of GPU operations. But I'm still not sure whether it explains why it uses so much GPU power that a recent year laptop with a dedicated graphics card can barely handle it. It might not be a fair comparison, but even an old machine with integrated graphics should play those videos with ease.
Any thoughts?