Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTC VIVEをExtended modeで動作させているモニターを表示させようとするとUnityがハングアップする #29

Open
gpsnmeajp opened this issue Jan 5, 2019 · 2 comments
Assignees
Labels

Comments

@gpsnmeajp
Copy link

twitterでお話させていた件の継続です。
https://twitter.com/Seg_Faul/status/1078886594491248642

概要
レアケースなのかもしれませんが、ViveのExtended modeを使用している際、uDesktopDuplicationでHMD側の画面を取得しながらそちらの画面にマウスカーソルを持っていくと、なぜかほぼ100% UnityEditorが操作不能な状態になります。
特にログが出ていなかったので何が起きているのか不明です
挙動的には、マウスカーソル関係の処理が競合しているように見えます。(無いはずのカーソルが左上固定で表示されていました)

再現手順
Unity 2017.4.15f1にて、uDesktopDuplicationのPrimary Monitorサンプルで再現。
HTC ViveをSteam VRにてダイレクトモード無効にし、HMDをセカンドモニタとして認識させた状態で、
uDesktopDuplicationにてセカンドモニタ(\\.\DISPLAY2)を選択。

最短の場合、この状態でプライマリモニタ(\\.\DISPLAY1)に切り替えるか、マウスカーソルをセカンドモニタに持っていくと発生。
なかなか発生しない場合もあるが、セカンドモニタにウィンドウを持ち込んだり、Steam VRの警告メッセージより「コンポジターをフルスクリーンにする」を選択すると数回でほぼ確実に発生する。

Steam VRの挙動について
Extended Modeは推奨外ながら、VR非対応のグラフィックボードでも動作させる最後の手段として相当工夫をしているようで、アクティブな状態でウィンドウを持ち込もうとすると、一旦弾かれるような挙動をする。
おそらく、モニタとしての認識をオン・オフしたり、解像度を変更したりするなどの操作を頻繁に行っているのではないかと思われる。

自プロダクトにおけるRelease版uDesktopDuplicationでのアタッチ試行
#14 を参考にアタッチしたVisualStudioの標準出力側に以下のログが延々と吐き出されていることを確認
ブレークしても「すべてのコードが外部コード~」のメッセージになり、行数確認できず。
RenderTexture: Resolving a destination texture that is NULL.
(Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/GfxDeviceD3D11.cpp Line: 1517)

Debug版uDesktopDuplicationサンプルでのアタッチ試行
現象再現、ログファイル添付
VSlog.txt
uDesktopDuplication.log
uDesktopDuplication.logには異常を確認できないが、アタッチしたVisualStudioの標準出力側に同様のエラーが出力されている

D3D11: Removing Device.
Assertion failed on expression: 'SUCCEEDED(hr)'
(Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/D3D11Window.cpp Line: 194)
Assertion failed on expression: 'SUCCEEDED(hr)'
(Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/D3D11Window.cpp Line: 194)
(略)
0x00007FF8B5275299 で例外がスローされました (Unity.exe 内): Microsoft C++ の例外: _com_error (メモリの場所 0x000000001A5EC770)。
0x00007FF8B5275299 で例外がスローされました (Unity.exe 内): Microsoft C++ の例外: _com_error (メモリの場所 0x000000001A5EE190)。
0x00007FF8B5275299 で例外がスローされました (Unity.exe 内): Microsoft C++ の例外: _com_error (メモリの場所 0x000000001A5EE478)。
d3d11: failed to create buffer (target 0x1 mode 0 size 6336) [0x887A0005]

@hecomi hecomi added the bug label Jan 5, 2019
@hecomi hecomi self-assigned this Jan 5, 2019
@hecomi
Copy link
Owner

hecomi commented Jan 5, 2019

ありがとうございます、調査いたします。

@hecomi
Copy link
Owner

hecomi commented Jan 5, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants