可可西

Wwise性能Profiler

Wwise编辑器提供了强大的性能功能,支持编辑器和真机实时Profile。更多信息详见:第 34 章 性能分析

在Profile之前,需要打开对应项目的工程,否则Profile时呈现的数据会有问题。

 

Wwise Profiler视图

Wwise Profiler会监视并记录性能、内存使用和所有来自声音引擎的活动。由三个子视图构成:Capture Log(捕获日志),Perfomance Monitor(性能监视器)和Advanced Profiler(高级性能分析器)。更多信息可查看:第 54 章 Profiler 视图

点击菜单Layouts -- Profiler(或按快捷键F6),可切换到Profiler视图。

 

裁剪Profile数据

避免Profile过大的影响Wwise游戏运行性能(CPU、内存、数据网络传输等),可在Profiler Settings(性能分析设置)中去掉某些不关心的性能数据。

注:Capture Log即Profile视图左上角Panel中输出的日志

 

性能指标

 

各个指标项及说明如下:

指标项 说明
API calls

在特定时刻,针对声音引擎的 API 调用数量。开放调用的数量包括对同一个函数的多次调用。

所以比如在某一时刻有 5 个不同的 API 函数被调用,但由于对同一个函数进行了多次调用,所以总调用次数可能要比 5 高得多。

CPU - Total

音频线程的 CPU 占用量。Audio Thread CPU 所基于的计数器会从唤醒处理音频的音频线程时开始计数,并在音频线程处理完成时结束计数。

根据所在平台和运行在同一 CPU 核心上的其它线程的优先级,此数字可能会比声音引擎的实际 CPU 占用大很多。

但是,您可以将其视为“音频运算资源百分比”,也就是说,如果它接近100%,则音频将很有可能无 CPU 可用。

 

注:计算公式是渲染一帧所需的时间和每帧总长时间的比值(48kHz 每帧1024个采样的情况下,一个音频帧长度是 21.3ms)

     1000% 的占用率表示 CPU 需要花费 213ms 才能渲染一帧的内容,渲染的速度远慢于播放速度。

CPU - Plug-in Total 在指定时刻,插件占用的 CPU 比例。
Command Queue Size

当前为 Command Queue 分配的内存量,用于储存游戏应用程序发送给声音引擎的命令。

命令并不显示在 Capture Log 中。命令队列的默认大小为 256 KB。最大值可以在 Wwise SDK 中进行设置。 例如:播放事件(Play Event)。RTPC = 50。

Command Queue Used 当前时刻 Command Queue 的占用百分比。
DSP Usage 当前时刻数字信号处理器的占用百分比 此计数器只有在选中某些平台(比如 PS4 )时才会显示。
Loaded Banks (Memory) 当前内存中加载的 SoundBank 大小。
Loudness Momentary(Sync Group 1 to 4) Loudness Meter 视图瞬时(0.4 秒矩形时间窗)响度电平。
Loudness Short-term(Sync Group 1 to 4) Loudness Meter 视图短期(3 秒矩形时间窗)响度电平。
Number of Active Events 由游戏发送(尚未达到相应 Active Listener 上限)的事件数量。
Number of Active Listeners 活跃的听者数量。
Number of Active Sends 活跃的 Game-defined 或 User-defined 辅助发送数量。
Number of Prepared Events 使用函数 PrepareEvent()进行预备的事件数量。 当预备 Event 时,只有该 Event 关联的特定媒体会被加载到内存中。
Number of Registered Objects 当前时刻已注册的游戏对象数量。
Number of State Transitions 当前时刻 State 之间的过渡数量。
Number of Streams 当前时刻打开的流播放的总数。
Number of Streams (Active) 激活的流数量。在上一个性能分析帧中,如果流播放需要或正在等待至少一条 I/O 传输时,则该流播放处于活跃状态。
Number of Transitions/Interpolations 当前时刻活动的淡变/过渡/插值的数量。
Number of Voices (Physical) 当前时刻播放的实声部数量。
Number of Voices (Total) 当前时刻播放的音频声部或独立实例总数(实声部和虚声部)。
Number of Voices (Virtual) 在指定时刻,虚声部列表中的虚声部数量。
Output Peak 在指定时刻,声音引擎的峰值输出,单位为 dB。
Prepared Events (Memory) 已预备的事件所占用的内存大小。该大小也包括预备事件之后,因此而加载到内存中的所有媒体文件的大小。
Total Media (Memory) 已加载到内存中的媒体文件的总大小。
Total Reserved Memory 内存池中预留的总内存量。此数字包含为以下池预留的内存:Default pool(默认池)、Lower Engine pool(底层引擎池)以及将包含来自已加载 SoundBank 的媒体的内存池。
Total Streaming Bandwidth 在指定时刻,流播放占用的总带宽。此值包含 Low-level I/O 传输以及通过 Stream Manager 缓存进行的传输(不需要访问磁盘),因此此值大于或等于总 I/O 带宽。
Total Streaming Bandwidth (Low-Level) 在指定时刻,流播放占用的总带宽。总底层播放流带宽。该值仅会考虑 Low-level I/O 传输,并且不考虑 Stream Manager 中通过缓存数据所做的虚拟传输。
Total Used Memory 在指定时刻,内存池的内存占用总量。

 

连接设备

 

要能在Wwise列表中看到目标设备,需满足以下条件:

(1)Wwise编辑器与目标设备必须在同一个局域网。  ①Wwise编辑器与目标设备都在同一个PC机上。② 搭建一个wifi热点,Wwise编辑器与目标设备都连向这个wifi。

(2)目标设备上游戏需打入Debug或Profile版本的wwise库   注:手机包需为非shipping包 

(3)允许Wwise编辑器进程通过Windows Defender防火墙

       

       

 

选中设备,点击Connect按钮报错:Unable to establish a remote connection.

可能是本机与远程设备之间网络不通,例如:开启Proxifier代理,没有登录ioa网络等

 

对编辑器或Standalone进行Profile

 

对Android手机包进行Profile

 

对iOS手机包进行Profile

启动游戏,弹出下面的对话框时,点击“好”。

 

 

保存性能数据到prof文件

注:点击红框按钮来保存prof文件 

 

打开prof性能文件

 

为了在Performace Monitor比较好地展示曲线图,可通过鼠标单击对应列的数值来对阈值其修改。

 

Memory

Used(顶端):用到的内存总和。

列表中为各个分类的内存信息。

① Media为加载到内存中的媒体文件,主要是SoundBank占用的内存。

② Profiler为profile耗费的内存。

③ Sound Engine为声音引擎耗费的内存。

④ Spatial Audio为空间音频占用的内存。

⑤ Streaming为I/O内存池和流占用的内存。

 

CPU

 

Listeners

 

Emitter-Listener

 

Busses

 

参考

使用Wwise进行性能分析、故障排除和调试github

性能分析技巧和最佳实践 

 

posted on 2022-05-19 21:15  可可西  阅读(819)  评论(0编辑  收藏  举报

导航