UDN
Search public documentation:

ScriptProfilerCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UnrealScript 分析器

文档概述:本文档对如何阅读在UnrealScript分析器工具中显示的数据进行了概述。

_文档变更记录:由 Warren Marshall 创建。

简介

UnrealScript 可能是一个令人迷惑的地方,不仅是在什么时候执行什么操作方面,而且在哪些操作占用了您的帧频率的最大部分方面也是令人迷惑的。 这时分析器工具可以提供给我们的最大帮助。

uscriptprofiler.jpg

创建 Profile

您可以在任何时候在控制台中输入 PROFILESCRIPT START= 命令来开始进行分析,也可以在任何时候通过输入 PROFILESCRIPT STOP 命令来停止分析。后一个命令将会在您的 !(GameName)Game\Profiling\ 文件夹中创建一个.uprof文件,该文件稍后可以通过查看器进行查看。

这个分析工具可以成为您最好的朋友,可以帮助您查找到您的 UnrealScript 类的性能瓶颈。

查看 Profile

启动脚本分析器可执行文件(ueScriptProfiler.exe,它位于 Binaries 目录中);并从 File(文件) 菜单中选择 Open(打开) 来打开您想查看的 .uprof 文件。

注意 : 脚本分析器的可执行文件可以在 UE3 或者 UDK 发布版本的 Binaries 目录下找到。

输出

当您加载一个数据文件时,将会为您呈现几个带有标签的有用信息。 它们包含了以下描述的信息。

Call Graph(函数调用图表)

如果函数不是一个叶子节点,那么百分比总数是总的包含时间,“它本身”代表所有的独占时间的总和。调用函数数据是作为一个函数流和函数返回时间进行收集的,所以和大多数的图表分析器不同,查看器不必依赖于“平均消耗时间”。在不考虑查看器的时间问题和 bug 的情况下,数据应该可以完全地代表执行脚本代码所消耗的时间。

性能消耗高的函数

这个视图显示了一个根据每个顶部节点调用函数的绝对的包含时间(以 usec 为单位)和每个顶部节点调用其子节点的绝对包含时间来排序的函数调用的树结构。这可以让您找到那个用于提高最差情况的帧周期的性能消耗最高的函数。比如,想象一个每次调用需要花费 10ms 的函数,但是每 100 帧才调用它一次。这意味着在一般的分析中每帧中有 0.1ms 没有显示的 spike(波动/停顿),但是这在游戏播放过程中现象是很显著的。

Incl/Excl Time(包含/独占 时间)

inclusive/ exclusive(包含/独占)标签以简洁的形式显示了包含/独占百分比、调用函数量以及每个函数的 inclusive/ exclusive(包含/独占)时间。所有的事件多以 usec 为单位(即一秒钟的百万分之一)。

Spike Call Graph(Spike Call 图表)

Spike Call 图标标签显示了根据最大的包含时间(以 usec 为单位)排列所组成的函数调用树。 时间代表了一个函数调用所花费的最大时间,这对于辨别那个函数导致帧时间 spike(波动/停顿)是有用的。

下载