@kas1e
The problem is not CPU load but gfx update speed. You gave mplayer as an example. Mplayer does not cause CPU load. Its problem is moving gfx data to the window at high speed all the time.
I am sure that a program like this, which causes the highest CPU load possible, will not slow down window movement:
int main (void)
{
for (;;)
{
}
}
Writing a 24bit RGB buffer into a screen with BGRA pixel format is very slow on my A1. This has nothing to do with heavy CPU load.
Mplayer is trying to play the movie as smooth as possible, i.e. it keeps updating the window all the time. While writing a movie frame to the window, the window is blocked from other updates. This means mplayer keeps the window locked almost continuously. Only every now and then it unlocks it for a few microseconds when it calculates the next frame. And only in these short breaks, the OS can move the window.
That gfx update is slow on the A1 you can also see in PicShow if you enable cross-fading. With a resolution of 800x600 it runs just as fast as realtime. Any higher resolution leads to stuttering.
The same on WinUAE runs completely smoothly even on 1280x1024.