新型iPad miniのjelly scroll現象はApple Pencilの遅延を小さくするためだと思う

今日家電量販店に行ったら新型iPad miniが置いてあり、噂のjelly scroll現象はどのようなものなのかを確認してみた。

普通にSafariを起動して最初にオススメされているYahoo! Japanのトップページで縦スクロールをするだけで発生した。縦に連続的にスクロールさせると画面の左右で1フレームズレたような表示になり画面が平行四辺形に歪んだように視認される。

実際には実物を見るまで「高フレームレートのカメラのせいなんじゃねーの?」とか思ってたんだけど普通に触ってすぐに視認できるものだったのでカメラのせいではないことは明らかだと思った。

 

画面は60Hzでしか更新されないディスプレイを使っているはずで、通常60Hzのディスプレイというのは画面の内容を1/60秒かけて(コンピュータ側の)フレームバッファから転送してもらうようなインタフェースになっている。この1画面の転送の途中にフレームバッファの内容が更新されるとそれまでに転送されたフレームとそこから転送されるフレームがズレてjelly scrollのような現象が発生する。これはティアリングと呼ばれる現象である。

このiPad miniでは画面の真ん中あたりでティアリングが発生するタイミングで画面のフレームバッファの更新が行なわれている。内部のフレームバッファは120Hzで更新されているのではないか。そう思う理由はこの現象を捉えた60fpsの動画を見たときに60fpsの1フレームで動いた量の半分以下のズレしか発生していないように見えたからだ。
(しかし実際のところ60Hzで画面の片方からもう片方に順次書き変わっていくこのiPad miniのディスプレイを、60fpsのCMOSカメラで撮影しても正しい状況は綺麗には撮影できないから、もっと高速なカメラで撮影しない限り推測が混ってしまうだろうと思う)。

 

Appleがこれに気づかなかったか、なにかとのトレードオフで敢えてこれを放置したかどちらなのかを考えるとおそらく後者。こんなことをする理由は遅延を減らすため。おそらくApple Pencilで描かれた軌跡を1msでも早く画面に反映させるために敢えて内部120Hz動作にしているのではないかという気がする。60Hzの場合には(上から下に向かって画面のリフレッシュが行われる場合には)画面の上半分と下半分で1/60秒=16ms近い遅延の時間差が発生する。120Hzでフレームバッファを更新しティアリングを辞さない場合にはそれが1/120秒=8msに軽減できる。画面表示に伴う遅延の平均値は8msから4msに縮まる。内部120Hzで、ディスプレイは60Hzで、ティアリングを許容することでApple Pencilの操作性が高まり、そして横画面ではあまり気にならないというのならこのようなセッティングにする判断はアリだと思う。

 

iFixitはディスプレイのリフレッシュ方向をこれまでの(iPadを縦向きにしたときの)縦方向から横方向にしたことがこのjelly scroll現象の原因だと推測しているようだが、それは間違っていて、Appleは、「この現象が縦画面のときに起こるのと、それとも横画面のときに起こるのとでどちらがマシか」を検討した結果、横画面のときに目立たないほうがマシだな、と考えて敢えてリフレッシュ方向を変更したんじゃないか。

 

とはいえそこまで低遅延でメリットを感じるのは、Apple Pencilを使う人やもしくはシビアなゲームをやる人だけなわけで、それ以外の人にとっては「単にスクロールしているだけで気持ち悪い視覚効果の生じる欠陥」としか思えないだろう。このややこしい話をユーザに理解してもらうのはわりと難しく、この現象が起こらないようになる設定を設定画面に追加し(フレームバッファの更新も60Hzにするというものだ)、その設定をonにするとApple Pencilの遅延が大きくなるとしたら、それはそれでこの原因が理解できないユーザには受け入れられないような気もする。これはAppleとユーザとの対話力が問われていると思う。