キーボードのRGB発光はiPhoneのバッテリーを減らしますか
キーの下で色が動く演出は、いかにも電力を使いそうに見えます。実際の消費が小さい理由は宣伝文句ではなく構造にあります。打鍵に反応する演出と動き続ける演出の違い、そしてキーボードを閉じた瞬間に何も残らない仕組みを説明します。
キーの下で色が流れ、押すたびに波紋が広がるキーボードは、いかにも電力を使いそうに見えます。実際にアニメーションですし、バッテリーの残量を一日中気にする端末の上で動いているのですから、オンにする前に消費が気になるのは当然です。結論としては消費はごく小さく、しかもその理由は「信じてください」という話ではなく、キーボード拡張という仕組みの構造から導かれます。
画面のアニメーションが電力を使う条件
画面上のアニメーションが消費する電力は、おおよそ三つの量に比例します。画面のどれだけの面積が変化するか、どれだけの頻度で描き直されるか、そしてそれをどれだけの時間続けるか。静止したテーマは、画面が点いていること自体を超えるコストをほとんど持ちません。フレームごとに計算し直しているものがないからです。動きのある演出は、その土台の上に実在するけれども小さなコストを足します。そして大きさは、三つの量のうちどれが実際に当てはまるかで決まります。
打鍵に反応する演出と、動き続ける演出
この二つはコストが同じではありません。分かれ目は打鍵そのものです。押したキーの下で光が広がる、そこから波紋が外へ押し出されるといった反応型の演出は、その一打をきっかけに短い時間だけ描かれ、そして止まります。入力の一区切りにおける総コストは、非常に短い描画の積み重ねであり、一回あたりの大きさは、iOSが通常のボタンに描いている押下状態のアニメーションと同程度です。
一方、行を横切る色の流れや背景をゆっくり移動する模様のような連続型の演出は、キーボードが画面に出ているあいだ、入力していてもしていなくても自前のタイマーで動き続けます。同じ時間で比べれば反応型より確実にコストは大きくなります。ただし「動き続けられる時間」の上限は、次の節にある事情で厳しく縛られています。
バックグラウンドで減らしようがない理由
キーボード拡張は、そのキーボードが実際に画面に出ているあいだしかプロセスとして存在しません。キーボードを閉じた瞬間、別のキーボードに切り替えた瞬間、あるいはテキスト入力欄から離れた瞬間に、iOSは拡張を終了させます。キーボード拡張が厳しいメモリ上限に置かれているのと同じ規則の帰結として、キーボードが消えたあとにタイマーを回し続けられるプロセスも残りません。つまり、連続型の発光がポケットの中や別のアプリの中、あるいは夜通し動き続けることはできません。描いているコードがその時点で存在しないからです。位置情報の取得やバックグラウンド更新のように、こちらが見ていないあいだも本当に動き続けられる処理とは、そこが根本的に違います。バッテリーの減りが想定より速いときに疑うべきは、通常はそちらです。
入力中の電力を実際に使っているもの
入力していてバッテリーが目に見えて減るなら、最初に疑う場所は発光ではありません。多くの端末では、画面が点いて明るく光っていること自体が圧倒的に大きなコストで、しかもそれは標準キーボードであれ他社製であれ、キーボードが画面に出た時点ですでに支払われています。キーボードの触覚フィードバックをオンにしているなら、そちらは小さいながら実在するコストを追加します。打鍵のたびにTaptic Engineが物理的に動くからです。発光のアニメーションは、すでに描かれている画面とキーボードの上に乗る小さな追加であって、単独の新しい負担ではありません。
判断の目安
- 節電のために発光を切る意味はほとんどありません。切るなら、見た目の好みで決めるほうが理にかなっています。
- 同じ時間で比べれば、反応型のほうが連続型より軽くなります。どちらもキーボードが画面から消えた瞬間に止まります。
- 入力中の消費で本当に大きいのは、画面が点いていることと、有効にしている場合の触覚フィードバックです。
- キーボードを閉じたあとも何かが動き続けている、という状態は起こりません。プロセスが存在しないからです。
よくある質問
バッテリーを節約するためにキーボードの発光を切るべきですか
切っても体感できる差はほとんど出ません。画面が点いていること、そして有効にしている場合の触覚フィードバックのほうが、キーの下に描かれる光のアニメーションよりはるかに大きなコストです。切るかどうかは見た目の好みで決めてください。
連続して動く発光は、キーボードを使っていないあいだも動き続けますか
動き続けません。キーボード拡張は、そのキーボードが画面に出ているあいだしか存在しないプロセスです。キーボードを閉じるか別のアプリに移った瞬間にiOSが終了させ、アニメーションのタイマーも一緒に止まります。動かし続けるプロセスが残らないからです。
打鍵に反応する演出は、動き続ける演出よりバッテリーに優しいですか
同じ長さの入力で比べれば優しくなります。連続して描くのではなく、一打ごとに短い時間だけ描いて止まるからです。ただしどちらの場合も、キーボードが画面から消えた瞬間に描画は終わります。
自分のキーボードで試す
Kiboは、本物のメカニカルキー音とテーマ、RGBバックライト効果を備えたiPhone向けの無料カスタムキーボードです。アカウント登録も広告もなく、フルアクセスをオフにしたままでも使えます。