您可能知道,DK2支持一种称为直接模式的新模式,可以减少延迟,从而改善VR体验。当我运行当前最新的0.8.0(beta)SDK附带的DK2样本时, OculusTinyRoom 的DiredctX11版本运行正常。
我的问题:OpenGL(使用3.3配置文件)版本使用一个名为 ovrHmd_CreateSwapTextureSetGL()的函数,它返回纹理集为零纹理(但调用 glGenBuffer 作为后备),返回值为-1006(ovrServiceError)。
我已经看到很多关于Oculus开发者论坛上有问题的OpenGL支持的报道。对于SDK的早期版本,OpenGL支持从0.2.4+中忽略,并且似乎已从0.5及更高版本(所有在客户端呈现模式中)解析。没有人说过更新的直接模式,除了对某些人来说,即使在DirectX11中,如果连接了第二个屏幕,它根本无法工作。对我来说情况并非如此。
我也看到人们建议 uninstall 来自NVidia的3D Vision驱动程序,因为它们可能与Oculus Rift驱动程序冲突。他们报告了戏剧性的帧率改进,尽管我自己获得了10%的提升。显然,NVidia的GameWorks VR只是通过安装它来扼杀驱动程序性能。不幸的是,卸载它们并不能解决问题。
最新的驱动程序(361.34)更新表明改进了Oculus和OpenGL对GameWorks VR OpenGL的支持,以及直接模式支持(即使对于SLI设置,它似乎非常impressive results)。但那是一个仅限NVidia的解决方案。 AMD有LiquidVR作为替代方案。但我还是喜欢使用Oculus SDK堆栈。
我正在使用Geforce 480和Titan X.
答案 0 :(得分:0)
我回到了第二个屏幕问题,有人似乎已经有了。因为它在DX11中对我有用,我认为我的问题不会相似。
在我的研究过程中,我在reddit上发现了一些有趣的forum post,表明部分问题可能源于使用多个监视器。事实证明它似乎已经修复了DX11,但同时不适用于OpenGL。
所以我可以确认关闭连接到辅助卡的任何辅助屏幕可以解决问题。对于OpenGL,您必须将所有输出设备连接到SAME卡。
我做了一些测试:
什么有效:
什么行不通:
所以它似乎是图形设备枚举的驱动程序问题。
注意:这是在我删除NVidia 3D Vision驱动程序并更新为构建361.43之后,因此它可能仍然与安装它们有关。如果有人能证实这一点,那就太好了。