INFINITASの動作環境には「画面のリフレッシュレートが60hz表示可能なもの(必須)」という記載があります。
そして、今月初旬~中旬くらいに話題になりはじめたのが、この話。
そういえばINFINITASって、画面のリフレッシュレートが異なると緑数字も変化するんですけど知ってた?(1枚目が60Hz、2枚目が59Hz(59.94Hz)) pic.twitter.com/75EwvYPnCy
— みの (@mino90h) 2016年4月14日
この後も、こういう設定だと××だったー的な検証が繰り広げられていました。
緑数字の仕様を知っていれば、別におかしなことじゃないよな?と思うことなのでスルーしていましたが、結構話題が盛り上がっていたので便乗。
まず、緑数字ですがこれはノートが実際に表示されている時間を現してるものです。
数字が小さくなれば速く(表示時間が短く)、大きくなれば遅く(表示時間が長く)なります。
これは言われなくてもみんな知ってますよね。
じゃあ、実際にこの緑数字が変わると、どのくらい表示時間が変わるのか?
実は簡単に計算することが出来ます。
計算式は 「 緑数字 ÷ 1フレーム(通常は1/60)秒 ÷ 10 = 表示時間(秒) 」 です。
例えば、緑数字300の場合 「 300 ÷ 1 ÷ 60 ÷ 10 」となり、表示時間は0.5秒になります。
見てのとおり、この計算式は簡略化でき、「 緑数字 ÷ 600 」で表示時間を計算することが出来ます。
では、話は戻ってINFINITASの緑数字の問題。
ツイートでは、60Hzでは緑数字1093に、59.94Hzでは1092になっています。
これを上の計算式に当てはめると
60Hz ⇒ 1093 ÷ 1 ÷ 60.00 ÷ 10 = 1.821666666666667...
59.94Hz ⇒ 1092 ÷ 1 ÷ 59.94 ÷ 10 = 1.821821821821822...
となります。
約1.821秒で大体あってることがわかります。
では、もし59.94Hzで緑数字1093となったら?
59.94Hz ⇒ 1093 ÷ 1 ÷ 59.94 ÷ 10 = 1.82349015682349...
となり、約1.823秒になります。
緑数字1092の時のずれ -0.000155155155155
緑数字1093の時のずれ -0.001823490156823
比較すると、1092のときよりもずれが大きくなっています。
といっても、ずれが約0.0018秒(1.8ミリ秒)ですし、これでも全く問題ないレベルだと思いますが。
(1フレームが0.016秒(1.6ミリ秒)です。)
Twitterではリフレッシュレートが違うと緑数字が変わるからこれはおかしいんじゃないのか?という感じの受け止めかたをする人もいるようですが、個人的には仕様通りの動作。
むしろずれを調整して数字を計算しているんじゃないのか?と思います。
ただ、これだと最初に書いた「ノートが実際に表示されている時間を現してるもの」っていうのも違ってくるんですよね。
正確にいうと、「緑数字はフレーム数を10倍にしたもの」になるのかな?
じゃあ30Hzのモニターだったら緑数字2倍になるのかよって話ですが、そうはならないみたいなのでその辺りの細かい話は謎です。
元々はACで同じスペック(環境)で動くものとして作られているので、家庭用(個人のPC)みたいに環境がバラバラの場合はそういったずれが出るのかもしれないですね。
ちなみにINFINITASは起動時のローディング画面(ロゴとかの前)にリフレッシュレートを取得してるとかいう話。聞いた話なので本当なのかは知りませんー。
※補足 リフレッシュレートとフレームレート(fps)
60Hzと59.94Hzはリフレッシュレートと呼びモニターが1秒間に書き換えることが出来る回数です。
それに対してフレームレートとは、ソフトが1秒間に何回書き換えるかという回数です。
INFINITASでは1秒間に60回書き換えるという命令を出すようにしています。(60fps)
でもモニターが60Hzに対応していない場合は1秒間に60回書き換えることが出来ないということ。