Version: 1.7
语言 : 中文
QNX Player 构建
QNX原生插件

部署 QNX 应用

指定图形驱动

团结 QNX 应用使用基于SDL2的EGL以及OpenGLES3进行渲染,在运行前需要指定EGL驱动文件和GLES驱动文件的所在路径。

指定驱动有三种方式:

  1. 运行可执行文件时传入参数- platform-qnx-graphics-conf <文件路径>指定graphics.conf的路径,团结引擎根据文件内容识别驱动。
  2. 将驱动文件路径分别配置到SDL_VIDEO_EGL_DRIVERSDL_VIDEO_GL_DRIVER环境变量中。
  3. BuildSettings窗口的Graphic Config Method中,指定graphics.conf的路径,或指定两个驱动文件的文件路径。

若选择通过识别graphics.conf中的内容来指定驱动,团结引擎将会在以egl-dlls开头的行中识别EGL驱动,在以glesv2-dlls开头的行中识别GLES驱动。

运行参数

运行QNX应用时,可以通过传入参数来改变程序的运行状态和方式,所有的命令行参数都优先于构建应用前在Editor中填写的设置,以及boot.config中的设置。

参数 描述
-logfile <文件路径> 将日志输出到指定文件中。
-screen-width 720 设置窗口宽度。
-screen-height 320 设置窗口高度。
-window-x <N> 设置应用窗口起始位置x坐标为N。(若不设置,默认居中)
-window-y <N> 设置应用窗口起始位置y坐标为N。(若不设置,默认居中)
-monitor <N> 设置展示在哪个窗口。
-zorder <N> 设置层级为N。
-platform-hmi-log-startup-times 输出启动时间,并持续输出应用的帧率。
-platform-hmi-quit-after-frame <N> 渲染N帧后使应用自动退出,N默认为1。
-platform-qnx-graphics-conf <文件路径> 指定 graphics.conf文件所在路径。
-platform-hmi-player-data-path <目录> 指定应用程序的数据文件的存放目录,默认为~/.config
-platform-hmi-force-vsync-count <N> 设置垂直同步数量为N,覆盖 PlayerSettings>Quality>VSync Count 中的设置。
-platform-hmi-force-srgb-blit <N> 在选择Linear作为颜色空间时,启用此参数后将强制开启srgb blit。如果图形驱动不支持Linear颜色空间,开启后会将颜色空间转为Gamma。
-platform-hmi-single-gl-context 禁用GLES的上下文共享。启用该参数后,QNX Player将无法多屏渲染。
-platform-hmi-cpu-configuration <configuration> 将CPU标记为高性能核、低性能核或禁用核,用于设置亲和性。其中<configuration>应为H(high performance core)、L(low performance core)、D(disable core)三个字母的组合。例如传入-platform-hmi-cpu-configuration DHL代表禁用第一个核,并将第二个核和第三个核分别标记为高性能和低性能。该参数将覆盖 PlayerSettings>Configuration>CPU Configuration 中的设置。
platform-hmi-unitymain-priority 设置主线程的线程优先级。
platform-hmi-gfxdeviceworker-priority 设置渲染线程的线程优先级。
platform-hmi-jobworker-priority 设置工作线程的线程优先级。
platform-hmi-background-jobworker-priority 设置后台工作线程的线程优先级。
platform-hmi-unitymain-affinity 设置主线程的CPU亲和性,默认情况下允许主线程在所有大核上运行。
platform-hmi-gfxdeviceworker-affinity 设置渲染线程的CPU亲和性,默认情况下允许渲染线程在所有大核上运行。
platform-hmi-jobworker-affinity 设置工作线程的CPU亲和性,默认情况下允许工作线程在所有大核上运行。

Notes: 关于设置线程优先级和亲和性的参数的详细说明可参考Android thread configuration。其他未在本页面列出的命令行参数可参考命令行参数,不再重复说明。

输出启动时间

在运行应用时,可传入参数-platform-hmi-log-startup-times,或者在Player Settings>Other Settings>Configuration中勾选Log startup Timings,允许应用输出启动时间的长度。

QNX设备中的启动时间记录包括从应用程序启动开始的持续时间和总时间。有两种类型的启动时间日志记录:

  • Real: 真实流逝的时间,相当于使用秒表记录时间。
  • User: 应用或其中的一个线程在CPU上花费的时间。如果应用启动时许多线程处于忙碌状态,这个时间可能会比Real时间更长。

输出内容示例

[TIMING::STARTUP] Initial probing done: Real: 19 ms | User: 11 ms
[TIMING::STARTUP] SDL Initialized: Real: 64 ms | User: 54 ms
[TIMING::STARTUP] Scripting runtime loaded: Real: 97 ms | User: 86 ms
[TIMING::STARTUP] Plugins loaded: Real: 97 ms | User: 87 ms
[TIMING::STARTUP] Engine initialized (nogfx): Real: 104 ms | User: 94 ms
[TIMING::STARTUP] Player Prefs loaded: Real: 104 ms | User: 94 ms
[TIMING::STARTUP] Screen initialized: Real: 139 ms | User: 112 ms
[TIMING::STARTUP] Engine initialized (gfx): Real: 187 ms | User: 161 ms
[TIMING::STARTUP] Gfx initialized: Real: 190 ms | User: 163 ms
[TIMING::STARTUP] Input initialized: Real: 190 ms | User: 163 ms
[TIMING::STARTUP] SPLASH - Begin: Real: 190 ms | User: 164 ms
[TIMING::STARTUP] SPLASH - Primary scene assets loaded (async): Real: 2197 ms | User: 1670 ms
[TIMING::STARTUP] SPLASH - All engine initial states established: Real: 2197 ms | User: 1670 ms
[TIMING::FRAME] 60 fps
[TIMING::FRAME] 58 fps
[TIMING::FRAME] 59 fps

若同时传入参数-platform-hmi-log-startup-timesplatform-hmi-quit-after-frame,还会输出每帧的渲染时间,直到应用退出。

[TIMING::STARTUP] Frame 1 rendered: Real: 2209 ms | User: 1687 ms
[TIMING::STARTUP] Frame 2 rendered: Real: 2210 ms | User: 1692 ms
QNX Player 构建
QNX原生插件