The bottom line is, that Apple forces developers to take care of this instead of having everything automatically hardware accalerated and therefore shortening the battery life of iOS devices(by a lot I'm guessing).
Does rendering a few more polygons actually kill battery life that badly? I believe much of the OS is already hardware accelerated anyway.
Neither why their mighty Nitro JavaScript Engine can't handle smoothly a setTimeOut based fade in/Out.
Google Chrome on 8 years old hardware (less powerful than actual iPhone hardware) renders the moving web better.
Safari is a poor mobile browser.
"WebKit on iOS now supports the requestAnimationFrame and cancelAnimationFrame methods in JavaScript, as described here: http://www.w3.org/TR/animation-timing/*
That link in turns states:
"script-based animations are most often performed by scheduling a callback using setTimeout or setInterval and making changes to the DOM to effect the animation in that callback.
A disadvantage of this approach is that the author of the animation script has no idea what the ideal frequency for updating their animation is. Instead, the easiest way forward for the author is to simply call setTimeout with a very small value, which in practice will be clamped to some minimum time like 10ms anyway. It likely won’t be the case that 100 updates per second are required for the animation, especially if the page is in a background tab or the browser window is minimized."*
So, it looks like setTimeOut is discouraged in favour of this (draft) standard. Given that, I would understand that Apple would optimize setTimeOut for minimal power use, rather than maximum update frequency (not that I have the faintest idea about how one should go about that)
Also: have you tried your claim about Chrome's performance in a similar amount of memory as what iOS has to deal with?