Skip to main content
Skip table of contents

SG Com Compute Resource Usage

SG Com runs on the CPU; it has no impact on the GPU. Below are measurements for memory, CPU and power consumption.

Memory

A typical chat use case involves a single Engine to process local microphone input, and one or more Players to calculate animation targets for local or remote characters (see Engines and Players). Heap allocations and deallocations are only performed during construction and destruction of Engines and Players, and the heap is not touched by other functions.

Code

Heap (per Engine)

Heap (per Player)

Stack

~12 MB

~12 MB

~1.5 MB + (44 KB * b)

where b = Player buffer length (seconds)

< 10 KB

CPU

We provide speed measurements of the two high-frequency functions for Engine and Player:

  • SG_COM_ProcessTick (Engine). This function is called 100 times per second to process audio input in 10 ms blocks, and the measurement below is the time taken to process 1 block.

  • SG_COM_UpdateAnimation (Player). This function is called at the application frame rate to calculate values of the output animation channels, and the measurement below is the time taken to process 1 frame.

For SG_COM_UpdateAnimation, the processing time depends on the complexity and type of character rig. Two sample rigs are considered:

  • Rig 1 is a bone rig with 82 targeted bones

  • Rig 2 is an Epic MetaHuman with 252 targeted scalar channels (and a few bones)

Windows

Linux

MacOS

iOS/Android

XBox X

PS5

Processor

Intel Xeon E5-4620

Intel Xeon Silver 4114

Intel Xeon E5-1650

ARM v8 Cortex-A72

AMD Zen 2

AMD Zen 2

Speed (GHz)

2.2

2.2

3.5

1.8

3.66

3.5

Process Tick (ms)

0.695

0.673

0.374

0.816

0.357

0.171

Update - Rig 1 (ms)

0.187

0.183

0.0884

0.522

0.0981

0.0797

Update - Rig 2 (ms)

0.0923

0.0823

0.0422

0.251

0.0357

0.0202

Memory to CPU bandwidth is usually the limiting factor on performance, affected by cache size and patterns of memory use in the whole system. For best results the thread calling SG_COM_ProcessTick is given fixed core affinity wherever possible.

Mobile power consumption

SG Com is optimized for mobile power consumption by using integer arithmetic for most calculations. The current consumption estimate is based on the time taken to discharge the device to 90% of its specified capacity versus an idle control case. Note this does not include the cost of 3D rendering.

Galaxy S20 Ultra 5G

Power consumption (mA)

~115

JavaScript errors detected

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

If this problem persists, please contact our support.