VR系列——Oculus Rift 开发者指南:八、性能平视显示器及Oculus调试工具

来源:互联网 发布:斯凯网络 编辑:程序博客网 时间:2024/04/24 21:38

性能平视显示器

性能平视显示器(HUD)可以使你或你的用户能够查看任何使用SDK 0.6或之后版本构建的应用程序的性能信息。

性能HUD屏幕是由合成器渲染呈现的,使他们能够由单一SDK调用来显示。在OculusWorldDemo,您可以按F11来实现性能HUD界面切换。

延迟时间

HUD的延迟时间显示了APP到中期光子、时间异常到光子-启动和时间异常到光子-启动的曲线图。

下面的截图显示了HUD的延迟时间:


这里写图片描述
图8:延迟时间

下表描述了每个指标:

指标 描述 应用程序追踪到中光子 从应用程序调用ovr_GetTrackingState()到画面最终在头盔显示器中显示(被照亮)-平均亮度的延迟时间 时间异常到中光子 从最后预测跟踪信息被提供给时间扭曲GPU的时间执行到画面的中间渲染器被显示在头盔显示器的时间之间的延迟时间 翻转到光子-启动 从后台缓存在头盔显示器中呈现的时间到画面在HMD显示器显示出来的时间之间的的延迟时间

渲染时间

渲染时间HUD(平视显示器)展示了合成器的帧率和客户端应用程序以及合成器的GPU渲染所花费的时间。

下面的截图显示了时间渲染HUD(平视显示器):


这里写图片描述
图9:时间渲染

以下表格描述了每个指标:

指标 描述 合成器丢失垂直同步次数 在每次合成器垂直同步渲染失败时增加 合成器帧率 合成器最高工作频率都会低于客户端应用程序的渲染帧率因为合成器在垂直同步过程中会被锁定,它永远不会超过本机HMD(头戴虚拟显示器)的刷新率。但是,如果该合成器未能按时完成渲染帧,合成器的频率就会低于HMD(头戴虚拟显示器)的刷新频率。 合成器GPU时间 GPU用于合成器渲染的时间。这包含了处理时间效果偏差和处理客户端应用程序所提交的所有失真图层。 应用 GPU渲染时间 客户端应用程序所消耗的gpu渲染总时间。这包含了在执行完成ovr_SubmitFrame()函数之后适当的使用镜像纹理所用的时间。也包括因为 CPU 线程没有及时处理数据引起gpu缓存区”bubbles”被注入,从而导致gpu命令缓存区”bubbles”被占满 App渲染CPU时间 从ovr_SubmitFrame()函数返回后cpu开始运行app到cpu开始运行时间扭曲绘制的时间差。
期间延迟测试仪没有预期生效将显示”N/A”,期间包括客户端应用调用完ovr_SubmitFrame()后产生的合成器IPC调用的时间开销 App –GPU时间扭曲跟踪 当app开始调用ovr_GetTrackingState到GPU开始执行时间扭曲绘制。如果延迟测试仪不能如预期正常工作,hub将显示“N / A”。

性能余量

性能余量HUD显示了合成器的帧率和未使用的硬件性能。这HUD可以由开发商或消费者在调整其应用程序时的模拟和图形保真度时使用。由于用户不能禁用垂直同步,它可以被认为是帧速率计数器来判断性能的一个替换。它还可以帮助调试安装,以确保它正在提供虚拟现实一致的体验,而不是由于与硬件无关的问题丢帧。

下面的屏幕截图显示了性能提升空间HUD :


这里写图片描述
图10:性能余量HUD

下表描述了每个指标:

指标 描述 Motion-to-photon延迟 从上次的预测跟踪信息馈送到GPU去执行Timewarp到该帧的中间扫描线投射在HMD显示屏上的延迟时间。这与“时间延迟”部分提到的信息是一样的,为了消费者友好在这里再提一下。 未使用的GPU性能 客户应用程序未使用的GPU和合成器的性能的百分比。这在本质上是时间渲染HUD被追踪的总的GPU时间。该总GPU时间被HMD的本地帧时间分割开(逆的刷新率)。该设计是用来帮助用户证实他的电脑有足够的GPU缓冲去避免丢帧,并帮助用户避免不稳定。 总的丢帧数 该值与时间渲染HUD所提供的值一致。帮助用户决定其是否正面临着性能问题。

版本信息

版本信息HUD展示了关于HMD的信息以及用来创建app的SDK的版本.


这里写图片描述
图11:版本信息HUD

下表描述了版本信息HUD中的项:

名称 描述 OVR SDK Runtime Ver 当前安装的运行时版本。每个vr应用使用的OVR SDK版本为0.5.0以上的版本 OVR SDK Client DLL Ver 客户端应用程序编译时使用的SDK版本。 HMD Type HMD的类型 HMD Serial (HMD系列) HMD的一系列编号。 HMD Firmware( HMD固件) 安装的HMD固件版本。 跟踪器编号 位置跟踪器的编号 Tracker Firmware(跟踪器固件) 安装的位置跟踪器固件版本

Oculus调试工具

Oculus调试工具能够让你在你的游戏或经历中察看性能或调试信息。

使用该工具:

1.打开Oculus SDK的Tools目录。

2.双击OculusDebugTool.exe. Oculus调试工具就打开了。

3.选择Visible HUD(可视HUD)去察看。选项包括:None (no HUD is displayed)(无,没有HUD显示), Performance HUD(性能HUD), StereoDebug HUD(立体调试HUD), 或者Layer HUD(HUD层).

4.如果你选择了 Performance HUD(性能HUD), 再继续选择你想查看哪个HUD性能。选项包括:Latency Timing(时间延迟), Render Timing(时间渲染),Performance Headroom(性能余量), and Version Information(版本信息).欲知更多信息,请查看40页的Performance Head-Up Display(性能HUD)

以下是性能HUD的例子:


这里写图片描述

5.如果你选择了StereoDebug HUD(立体调试HUD),从立体调试HUD选项里设置模式,大小,位置,颜色。

以下是个StereoDebug HUD(立体调试HUD)的例子:


这里写图片描述

6.如果你选择了Layer HUD (HUD 层),选择展示信息的层或者选择“显示全部”(Show All)的选择按钮。以下是个Layer HUD (HUD 层)的例子:


这里写图片描述

7.带上耳机查看效果。


原文如下


Performance Head-Up Display

The Performance Head-Up Display (HUD) enables you or your users to view performance information for any application built with SDK 0.6 or later.

The Performance HUD screens are rendered by the compositor, which enables them to be displayed with a single SDK call. In OculusWorldDemo, you can toggle through the Performance HUD screens by pressing F11.

Latency Timing

The Latency Timing HUD displays the App to Mid - Photon, Timewarp to Photon - Start, and Timewarp to Photon - Start graphs.

The following screenshot shows the Latency Timing HUD:


这里写图片描述
Figure 8: Latency Timing

The following table describes each metric:

Metric Description App Tracking to Mid-Photon Latency from when the app called ovr_GetTrackingState() to when that frame eventually was shown (i.e.illuminated) on the HMD display - averaged mid - point illumination Timewarp to Mid-Photon Latency from when the last predictied tracking info is fed to the GPU for timewarp execution to the point when the middle scanline of that frame is illuminated on the HMD display Flip to Photon - Start Latency from the point the back buffer is presented to the HMD to the point that frame’s first scanline is illuminated on the HMD display

Render Timing

The Render Timing HUD displays the frame rate of the compositor and the total time spent by the GPU rendering for both the client app and the compositor.

The following screenshot shows the Render Timing HUD:


这里写图片描述
Figure 9: Render Timing

The following table describes each metric:

Metric Description Compositor Missed V-Sync Count Increments each time the compositor fails to present a new rendered frame at V-Sync (Vertical Synchronization). Compositor Frame-rate The rate at which final composition is happening outside of client app rendering. Because the compositor is locked to vsync, it will never exceed the native HMD refresh rate. But, if the compositor fails to finish a frame on time, it can drop below the HMD refresh rate. Compositor GPU Time The amount of time the GPU spends executing the compositor renderer. This includes Timewarp and distortion of all layers submitted by the client application. App Render GPU Time The total GPU time spent on rendering by the client application. This includes the work done after ovr_SubmitFrame() using the mirror texture if applicable. It also includes GPU command-buffer “bubbles” that might be injected due to the client application’s CPU thread not pushing data fast enough to the GPU command buffer to keep it occupied. App Render CPU Time The time difference from when the app starting executing on CPU after ovr_SubmitFrame() returned to when timewarp draw call was executed on the CPU. Will show “N/A” if latency tester is not functioning as expected. Includes IPC call overhead to compositor after ovr_SubmitFrame() is called by client application. App - Tracking to TW GPU The time from when the app called ovr_GetTrackingState to when the Timewarp draw call was executed on the GPU. The HUD displays “N/A” if the latency tester is not running as expected.

Performance Headroom

The Performance Headroom HUD displays the frame rate of the compositor and the unused hardware performance available. This HUD can be utilized by the developer or consumer when tuning their applications’ simulation and graphics fidelity. Since the user cannot disable V-Sync, it can be thought of as a replacement for a frame rate counter to judge available performance. It can also help debug the setup to make sure it is providing a consistent experience in VR and not dropping frames due to issues unrelated to hardware performance.

The following screenshot shows the Performance Headroom HUD:


这里写图片描述
图10:性能余量HUD

The following table describes each metric:

Metric Description Motion-to-Photon Latency Latency from when the last predictied tracking info is fed to the GPU for timewarp execution to the point when the middle scanline of that frame is illuminated on the HMD display. This is the same info presented in “Latency Timing” section, presented here for consumer - friendliness. Unused GPU performance The percentage of GPU performance not used by the client application and compositor. This is essentially the total GPU time tracked in the Render Timing HUD divided by the native frame time (inverse of refresh rate) of the HMD. It is designed to help the user verify that his or her PC has enough GPU buffer to avoid dropping frames and to help the user avoid judder. Total Frames Dropped This is the same value provided in the Render Timing HUD to help the user determine whether he or she is encountering performance issues.

Version Information

The Version Information HUD displays information about the HMD and the version of the SDK used to create the app.

The following screenshot shows the Version Information HUD:


这里写图片描述
Figure 11: Version Info HUD

The following table describes each piece of information:

Name Description OVR SDK Runtime Ver Version of the currently installed runtime. Every VR application that uses the OVR SDK since 0.5.0 uses this runtime. OVR SDK Client DLL Ver The SDK version that the client app was compiled against. HMD Type The type of HMD. HMD Serial The serial number of the HMD. HMD Firmware The version of the installed HMD firmware. Tracker Serial The serial number of the positional tracker. Tracker Firmware The version of the installed positional tracker firmware.

Oculus Debug Tool

The Oculus Debug Tool enables you to view performance or debugging information within your game or experience.
To use the tool:

1.Go to Tools directory of the Oculus SDK.

2.Double-click OculusDebugTool.exe. The Oculus Debug Tool opens.

3.Select the Visible HUD to view. Options include: None (no HUD is displayed), Performance HUD, Stereo Debug HUD, or Layer HUD.

4.If you selected Performance HUD, select which Performance HUD you want to view. Options include:

Latency Timing, Render Timing, Performance Headroom, and Version Information. For more information, see Performance Head-Up Display on page 40.

The following is an example of the Performance HUD:


这里写图片描述

5.If you selected Stereo Debug HUD, configure the mode, size, position, and color from the Stereo Debug HUD options.

The following is an example of the Stereo Debug HUD:


这里写图片描述

6.If you selected Layer HUD. select the layer for which to show information or select the Show All check box.

The following is an example of the Layer HUD:


这里写图片描述

7.Put on the headset and view the results.

阅读全文
0 0
原创粉丝点击