非力なCPUに無駄な仕事をさせる

  • 投稿日:
  • by



よく考えましょう



アプリケーションのダイアログに小奇麗な画像をペタペタ。


pngやjpgの画像ファイルが大小取り混ぜて数十枚。


そんなダイアログが10枚もタブ切り替えになっています。


画像ファイルの合計サイズを見ると、50KBが80枚。4MBですね。簡単のために全部pngとしましょう。


pngはzip圧縮ですから、乱暴に計算すると、4MBのzipファイルを解凍する処理を非力な200MHzのARMプロセッサに担わせているということです。


おわかりでしょうか。50KBの"小さな"画像ファイルを数十枚・数百枚表示しても屁でもないのは、デスクトップPCだからです。


数GHzのCPUと数GBのメモリがあれば屁でもない。


しかし200MHzのx86プロセッサで数十MBしかメモリが無いなら、それは相当大変な仕事です。


そしてこの話をすると、



じゃぁ非圧縮のBMPにしよう



というマヌケな話になります。


そんなことしたら、ROMやCFからデータを読み出すためだけにIOが占有されてしまいます。


"パフォーマンス"というとコードの実行効率ばかり考える人が大杉ますです。


そんな簡単な話ではないのです。