PCs and phones are fundamentally different...
Posted Dec 17, 2011 21:51 UTC (Sat) by khim
In reply to: Sorry, my bad...
Parent article: 2011: The Year of Linux Disappointments (Datamation)
Indeed, framebuffer caching is an optimisation, not the first port of call for applications that don't feel like doing a redraw.
Sorry. But no. It was optimization on workstations with mouse. It's hard requirement on smartphone.
Why? Touchscreen. Manipulations with touchscreen only feel "natural" if image on screen follows finger without jitter. For that you need to redraw image on screen in 16ms or less. The only way to do that in a lot of cases is to use shadow buffers. Especially if you don't know the exact specifications of the target phone platform and can not guarantee that you'll be able to draw everything in 16ms using just abstract representation of your application state.
Now, you can flush all these buffers when your application goes to background and restore them when it returns - but that requires cooperation from application side and is awfully similar to that dreadful "checkpoint/restore stuff". Besides if application is going to background for a short time it may not be a good idea to throw all these buffers right away (battery life, you know), so in the end you'll come up with scheme quite similar to what iOS/Android are doing.
You may say: but I don't want all that fancy touchscreen stuff! Give me good multitasking instead! Well, may be you don't need it, but handset makers surely do: fate of Blackberry/Symbian/etc says that most people do want that touchscreen stuff - and if you'll take in account this requirement then suddenly resources of modern phones are not "overwhelming" but "just barely enough"...
to post comments)