FC2ブログ
 

アマレコVR 進捗

目途が立たないので正式版は無期延期。ベータ版として次のバージョンを製作中です。

・タグ機能を追加(今のところVRフォーマット、アスペクト比、YUVレンジ、クロップ等)
・VRフォーマットリスト(VRFormat.txt)を廃止して代わりにタグデザイナーで全てのタグを統括
・該当するVRフォーマットタグが無い場合のVRフォーマット自動判別処理に関する設定を追加(「デフォルトを180度に~」はこれに該当します)
・Pico版の再生フレームレート改善
・Oculus Quest 2の90Hzへ対応
・ダブルクリック判定の変更
・フォルダの並びを変更(1,10,2 → 1,2,10)
・ファイルグループ化
・バッテリー低下警告
・180度,360度スクリーンのポリゴン分割数を4倍
・サブカメラの映像元を左右選べる
・不具合修正多数


ベータ版以降は実験的な取り組みをしていきたいので正式版はその後と考えています。
・開発機がGOからQuestになるのでハンドトラッキングやパススルー機能を使ってみたい。
・プレイヤー機能をExoPlayerからAndroid標準プレイヤーへ変えるかもしれない。


■Oculus Quest 2雑記
adbコマンドで90Hzにすることができましたが,Quest2本体を再起動すると効果が切れてしまうので不便。
「Oculus GOのフェイスパットが使えるよ」ってことで試してみたら、本当にぴったりフィットしてびっくり。
GOとQuest2は同じレンズパーツなのかな。


■tag="" layout="sbs" screen="180"
想定外の使い方ですが、確かに目的を達成できるのかな。
VRフォーマットのiniファイルは再生しただけでは作らないけど、アプリ上でVRフォーマットを変更した際に作るようになっています。
私もiniファイルは鬱陶しいので極力アプリ上でVRフォーマットを変更しないようにしたり、定期的に削除ですね。


Oculus Quest 2を試してみた90Hzと新SoC XR2について

注文していたOculus Quest 2が届いたので気になっていたリフレッシュレートの向上(72Hzから90Hzへ)と大幅に強化された新SoC 「Snapdragon XR2」の動画再生能力について簡単に試してみました。

■リフレッシュレートの向上について
コチラの記事に従いadbコマンドを使ってアプリケーションが90Hzで動作するようにします。

adb shell setprop debug.oculus.refreshRate 90



これでアプリの方で

OVRManager.display.displayFrequency = 90.0f;


とすると90Hzで動作するようです。
さっそくアマレコVR gQuestへ90Hzモードを追加してステータスで確認してみます。


アマレコVR起動
nora.png
Facebookアカウント絡みで心配していましたが、野良アプリも実行できます。


90Hzの設定項目を追加
setting.png

60fpsの動画を再生
fps_202010150315242fc.png

だいたい55fpsを超える感じでした。
Pico G2 4Kのように60fpsとはなりませんが、リフレッシュレートが合わない状態では(見た目で)違いが判らないレベルで再生可能です。
リフレッシュレートを90Hzへ上げることで欠落フレームを軽減する効果が得られます。


■XR2の動画再生能力について
アマレコVR gQuestにてメインプレイヤーとサブプレイヤーの両方で4K 60fpsの動画を再生しても(欠落フレームはありますが)難なく再生できました。
Quest1では4K 60fpsの動画とFUll HD 60fpsの動画を同時に再生すると10fps程度のカクカク状態でしたので、Quest2に搭載されているXR2の動画再生能力の高さが実感できます。
なお、Quest1でもどちらかの再生速度を85%程度まで下げれば実用範囲で再生可能です。

90HzとXR2によるスペックアップは非常に素晴らしいと感じました。


テーマ : PC周辺機器     ジャンル : コンピュータ

60fpsの動画再生について Pico版は解決

前回の記事で書いた「VR動画プレイヤーにおける2Dの60fps動画再生について」ですが
Pico版のアマレコVRについては解決しました。一方、gQuestの方は完全な解決には至らず。

Pico版についてはUnityのProject settingsにある
Multithreaded Renderingが無効になっていると欠落フレームが生じるようです。
Multithreaded Renderingを有効にすることで欠落フレームはほぼないと言えるようになりました。

gQuestの方はもともとMultithreaded Renderingが有効でしたので改善せず。
垂直同期を待つ設定になっていたのを、待たないように変更したところ、欠落フレームが減少したように感じますが、それでも10%から15%程度の欠落フレームが生じます。
gQuestについてはQuest 2のリフレッシュレート90Hzや、SoCの性能向上に期待することにします。


VR動画プレイヤーにおける2Dの60fps動画再生について

基本VR動画プレイヤー系で2Dの60fps動画を再生するとフレームレートがガタガタでスムースな再生とはなりません。
これはアマレコVR gQuest開発当初から把握していたことです。
他のVR動画プレイヤーでもガタガタですし、AVProのサンプルプログラムでもガタガタですので、そう言うものと割り切っていました。
わかっている範囲で例外だったのはOculus GOのOculus galleryです。完璧な60フレームの表示が可能でうっとりするほど綺麗な再生が可能です。

PicoスレにてアマレコVRよりPico Playerの方が優秀だと言った趣旨の書き込みがあり、そんな馬鹿なと思いPico Playerについて再度確認してみたところ、背景なしの場合は私が把握していた通りガタガタですが、背景を表示するとガタガタが改善されました。


整理すると、3つのグループに分類できます。

・グループA (ダメなグループ)
欠落フレームがあり1秒間に60枚の画像を表示できないもの。
アマレコVR gQuest、アマレコVR Pico、Pico Player(背景なし)

・グループB (リフレッシュレートが合わないが妥当なグループ)
欠落フレームはなさそうですが、ディスプレイのリフレッシュレートが合わず重複フレームがあるもの。
(72枚や75枚に水増しして表示する)
Oculus QuestでのOculus gallery、Pico Player (背景あり)

・グループC (完璧なグループ)
ディスプレイのリフレッシュレートが60Hzで60fpsの動画を完璧に再生できる。
(重複フレームも、欠落フレームもない)
Oculus GOでのOculus gallery


■開発時に試したこと
UnityアセットのAVProのサンプルプログラム(ExoPlayer)がそもそもグループA
Oculus Integrationに含まれるExoPlayerを使った180度動画再生用のサンプルプログラムもグループA
AVProをExoPlayerから標準プレイヤーモードに変更すると欠落フレームが若干減る気がする(リフレッシュレートが高ければほぼ60fpsになる?)
UnityのVideo PlayerもグループAだけど欠落フレームは少なめ


基本的にはデバイスのスペック不足や、アプリ側に無駄な処理が多いから処理落ちしてガタガタになるのではなく、動作モードや条件の違い、または使っているプレイヤーや機能の違いによりパフォーマンスが低下していると思われます。
出来ればアマレコVRもグループBまでは持っていきたいですが、今のところ原因はわかっていません。
Pico Playerの振る舞いを鑑みると、どちらかと言えばイロイロ処理をして負荷を上げてあげた方がパフォーマンスが向上するようにも思えますし、同じアプリケーション内のモードの違い(背景の有無)により明暗が分かれることから、Pico Playerを観察することで突破口が開けるかもしれませんので検証に使ったサンプル動画を公開します。
何か開発に役立つ情報がありましたら教えていただけるとありがたいです。

■ダウンロード
60fpsサンプル動画


 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
09 | 2020/10 | 11
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ AMVコーデック アマレココ アマレコVR Oculus Quest アマミキ! コーデック gQuest SC500 動画配信 Pico ファンタジーリモート 4K GO アマレコライト プラグイン G2 AMV4 oculus ライブ機能 Unity SC512 AVX2 デスクトップキャプチャ リモートソフト FAQ 質問コーナー ニコニコ動画 HDキャプチャ DirectShow 可変再生速度 遅延 組み換え 120Hz 解説動画 レゴ LEGO GV-USB2 XL2420T 2 AMV2MT 倍速液晶 アマステ 液晶モニター PS4 Pro デインターレース Intensity ベンチマーク MonsterX3A Rift AVX 31006 UtVideo VideoKeeper2 WindowsMR XCAPTURE-1 Alternate T2 ffmpeg GV-USB designs 31024 Shadow Play RYZEN 32ZP2 RDT233WX-Z SD-USB2CAP4 RGBキャプチャ シンクライアント イベント 倍速駆動 キャプチャーツール DirectShowFilter SD-USB2CUP4 擬似NTSCキャプチャ プレビュー 液晶テレビ IntensityPro DC-HD1 Livetube モノステ リプレイ機能 AtomでHDキャプチャ MP3 GPU使用率 可逆圧縮 LAVFilters Preferred Filter キャプチャカード GV-USB3 XCapture-1 Kabelake SSE SKnet Tweaker SteamVR 新アマレコVR 新プレイヤー機能 AMPlayer 60Hz 90Hz Windows VR動画 フレーム間圧縮 VRコントローラー MR オーバーレイ 録画 LameACM 音遅延 60fps Haswell 電源オプション MonsterXU3.0R ゲームスムーズモード 額縁遅延 REGZA ZP3 倍速補完処理 HDCP HDMI HT 31021 フィギュア 音ズレ ハイパースレッディングテクノロジー MPC QSV NVEnc OBS インストール 32ZP32 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面