全息模拟器在Unity闪屏之前挂起

问题描述 投票:0回答:1

我正在运行Visual Studio 2015更新3,Unity 5.6.3f1,全息模拟器10.0.14393.1358和Windows 10 SDK 10.0.14393.798。我正在为HoloLens Development Fundamentals完成Pluralsight课程,当我将我的应用程序部署到HoloLens模拟器时,我一直遇到这个问题。

无论我是在没有调试的情况下运行还是运行调试而且没有设置任何断点,我看到开始菜单绽放得很好然后它就会清除,并且在Unity闪屏应该显示的位置,我只是得到一个小的白色光标屏幕中间,没有其他任何事情发生。

但是,如果我在app.cs构造函数中设置断点然后逐步执行代码,那么我可以看到启动屏幕,并且一旦我逐步执行Main方法和CoreApplication.Run(App)方法调用,应用程序就会运行。

查看输出日志时,程序挂起时,会在下面显示的位置停止。

Direct3D:

Version:  Direct3D 11.0 [level 11.1]

Renderer: Microsoft RemoteFX Graphics Device - WDDM (ID=0x2c1)

Vendor:   Microsoft

VRAM:     639 MB

Initialize engine version: 5.6.3f1 (d3101c3b8468)

'Example1.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\Example1VS.Debug_x86.xxxx\UnityEngineProxy.dll'. Cannot find or open the PDB file.
'Example1.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\Example1VS.Debug_x86.xxxx\System.Linq.dll'. Cannot find or open the PDB file.
'Example1.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\Example1VS.Debug_x86.xxxx\System.Reflection.Extensions.dll'. Module was built without symbols.
The following GlobalManagers were stripped from the build (Either because they're not used or not supported on this platform):
  NetworkManager
  MasterServerInterface
  UnityAdsManager
  ClusterInputManager
  CrashReportManager

If your machine has multiple graphics adapters, Unity may have created a WindowContext on the wrong adapter. If you experience a black screen when playing, please restart the Editor.

(Filename: C:/buildslave/unity/build/Runtime/VR/VRDevice.cpp Line: 194)

但是,当程序正确运行时,由于我设置了断点并单步执行代码,在输出窗口中输出上面列出的输出之后出现以下行

UnloadTime: 36.962299 ms

Setting up 1 worker threads for Enlighten.

  Thread -> id: 8d0 -> priority: 1 

The program '[1480] Example1.exe' has exited with code -1 (0xffffffff).

我的开发笔记本有两个适配器;

AMD Radeon HD 8790M
Intel HD Graphics 4600

我在redditt r / HoloLens上发了一篇帖子,谈到“进入播放器设置 - >其他设置 - >色彩空间并将其交换为Gamma而不是线性”,但我的设置已经在Gamma上,所以似乎不适用。

有任何想法吗?

c# unity3d visual-studio-2015 unity5 hololens-emulator
1个回答
1
投票

我猜想发生的事情是模拟器(使用hyper v directx加速)渲染到错误的适配器。听起来这与时间有关。具有双显卡设置的笔记本电脑大多数时候使用较低功率的英特尔适配器,但在渲染3d内容时切换到nvidia卡。我猜测在开关发生之前,unity和/或hyperv正在选择适配器。

要尝试的事情:

  • 您应该能够在驱动程序中的某个地方强制使用一个适配器。看看它是否有效,如果它确实存在问题。
  • 尝试将两个适配器的驱动程序更新到最新版本。
  • 尝试更新到最新的工具链(vs2017 / unity2017)
© www.soinside.com 2019 - 2024. All rights reserved.