LoginSignup
4
4

More than 5 years have passed since last update.

WebVR1.0の仕様を読んで変わったところと、ちょっと気になったこと

Last updated at Posted at 2016-03-03

WebVRの仕様が1.0となりました。

旧スペックから変わったところ

  1. VRHMDDeviceとVRPositionSensorDeviceが廃止され、VRDisplayという1つオブジェクトになった。
  2. HMDに表示させるにはDOMのAPIであるrequestFullscreenを使用していたが、VRDisplayのrequestPresent()に変わった。
  3. WebVR独自のrequestAnimationFrameの仕様が追加された。
  4. Room Scale VRのサポートが追加された。(VRDisplay.VRStageParameters)
  5. gamepad APIにVRコントローラーのサポートが追加された?。(displayIdプロパティの追加のみですが)

大きいのが4.のRoom Scale VRのサポートでしょう。
つぎに、DOM API依存の排除。特にWebVR独自のrequestAnimationFrameの仕様が追加されたこと。
DOMのrequestAnimationFrameでは、(仕様には具体的な数字が見当たりませんでしたが)現在の主流のブラウザーにおいて最高でも1秒間に60回(60fps)のコールが限度となり、VRHMDデバイスでの表示に使用するには問題となっていました。
WebVR独自のrequestAnimationFrameは、VRHMDデバイスのスペックに合わせて1秒間に60回以上コールされるようです。

ちょっと気になったこと

このWebVR1.0が実装されたChromeがすでにビルドされ公開されています。
早速ダウンロードしてちょっと試してみたのですが、DOMのrequestAnimationFrameが1秒間に私のマシンでは250回もコールされました。
たぶんバグだとは思いますが、ただ、DOMのrequestAnimationFrameを使用したWebアプリをこのChromeで実行すると少なからず影響が出ると思われます。

3/21に最新のビルドがアップされ、このDOMのrequestAnimationFrameのバグが修正されました。

4
4
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4