android4.1 Jelly Beansから導入されたトリプルバッファリングって何?

概要

togetterで話題になっていたのでまとめを要約してみた

トリプルバッファリングとは?

現在のフレームを描画している表のバッファと次のフレームの描画をキャッシュしている裏バッファとさらにもう一つバッファを用意することで画面のちらつきなどを抑えようというもの。
バッファを多く取ることでGPUの性能に依存せずに一定の画面描画速度を維持することができるようになる。
この背景として、高性能なGPUを積むよりもメインメモリを多く盛ったほうが現状コストパフォーマンスが良いからと推測される。

そもそもAndroidはマルチタスク前提のOSである。
トリプルバッファリングにより多くのバッファを持つことで画面描画をしながらもバックグラウンドでその他(メール着信など)にCPUリソースを割けるようになる。

ただし、トリプルバッファリングを採用するのはメリットばかりではない。
格闘ゲームなどでコンマ1秒の争いをしている人たちにとって確実に遅延が発生するのはあまり良くない。

まとめ

トリプルバッファリングの採用はこれまでハードウェア性能の差に苦しんでいたAndroidを救えるかもしれないと感じた。