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

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