Skip to main content
Skip table of contents

SG Com 计算资源使用情况

SG Com 在 CPU 上运行,对 GPU 没有影响。以下是内存、CPU 和功耗的测量值。

内存

典型的聊天用例包括一个引擎和一个或多个播放器,其中前者用于处理本地麦克风输入,后者用于计算本地或远程角色 Speech Graphics 动画控制器(请参阅引擎和播放器)。只有在构建和销毁引擎和播放器时才会分配和释放堆,其他函数不会触及堆。

代码

堆(每个引擎)

堆(每个播放器)

堆栈

~12 MB

~12 MB

~1.5 MB + (44 KB * b)

其中 b = 播放器缓冲长度(秒)

< 10 KB

CPU

我们对引擎和播放器的两个高频函数进行了速度测量:

  • SG_COM_ProcessTick(引擎)。该函数每秒调用 100 次,以 10 毫秒的数据块为单位处理音频输入,下面的测量值是处理 1 个数据块所需的时间。

  • SG_COM_UpdateAnimation(播放器)。该函数根据应用的帧率调用,以计算输出动画通道的值,下面的测量值是处理 1 帧所需的时间。

对于 SG_COM_UpdateAnimation,处理时间取决于角色骨骼控制的复杂程度和类型。我们考虑了两个骨骼控制的样本:

  • 骨骼控制 1 是一个骨骼装备,有 82 个 Speech Graphics 动画控制器的骨骼

  • 骨骼控制 2 是一个 Epic MetaHuman,有 252 个 Speech Graphics 动画控制器的标量通道(和一些骨骼)

Windows

Linux

MacOS

iOS/Android

XBox X

PS5

处理器

Intel Xeon E5-4620

Intel Xeon Silver 4114

Intel Xeon E5-1650

ARM v8 Cortex-A72

AMD Zen 2

AMD Zen 2

速度 (GHz)

2.2

2.2

3.5

1.8

3.66

3.5

一次帧处理时间(毫秒)

0.695

0.673

0.374

0.816

0.357

0.171

更新 - 骨骼控制 1(毫秒)

0.187

0.183

0.0884

0.522

0.0981

0.0797

更新 - 骨骼控制 2(毫秒)

0.0923

0.0823

0.0422

0.251

0.0357

0.0202

整个系统中的缓存大小和内存使用模式会影响内存到 CPU 的带宽,而此带宽通常是性能的限制因素。为获得最佳效果,调用 SG_COM_ProcessTick 的线程应尽可能固定核心亲和性。

移动功耗

SG Com 针对移动功耗进行了优化,大部分计算都使用整数运算。电流功耗的估计值基于以下因素得出:将设备放电至指定容量的 90% 所需的时间(与控制器闲置时的情况相比)。请注意,这里不包括 3D 渲染的功耗。

Galaxy S20 Ultra 5G

功耗 (mA)

~115

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.