Version

menu_open

Streams

The Advanced Profiler - Streams tab displays information about how each of the streams is managed by the Wwise sound engine. For in-depth details on I/O management in Wwise, refer to the "Streaming / Stream Manager" chapter of the SDK documentation.

Interface Element

Description

Opens a search field where standard alphanumeric entries filter out unmatching elements from the view. Learn more in Using Tables.

Click the Close icon to the left of the search icon to close the search field and remove the filter.

[Note] Note

The searches do not include elements in collapsed nodes of the List View, Query Editor, MIDI Keymap Editor, and Reference View.

Click the Configure Columns... shortcut (right-click) option from the column header band.

The Configure Columns Dialog opens. Specify which columns to display and their order.

Device Name

The name of the device from which the stream occurs. The string that is returned from your implementation of IAkLowLevelIOHook::GetDeviceDesc() .

Stream Name

The name given to the stream. When played from the authoring tool, the stream name is the full file path of the streamed audio file. When played in game, it is the name of the audio source.

Priority

The priority of the stream. The priority has an influence on which stream is serviced by the scheduler when more than one stream is starving.

Tgt. Buffer Size

The target buffer length. It is the streaming device's target buffer length, specified in code in milliseconds (AkDeviceSettings::fTargetAutoStmBufferLength) multiplied by the stream's estimated throughput, in bytes per second. When a streamed sound's buffering is below the target buffer length, this indicates to the streaming device that more I/O data is required. The stream is idle when it is above the target buffer length.

Ref. Memory

The amount of memory that is referenced by the stream. This excludes memory used for I/O transfers. It can be seen as a measure of how much data the stream may grant to the sound engine at any given time. For example, if a stream exhibits a full "Buffering Status" but references 0 bytes of memory, this means that all of its I/O transfers have been scheduled, but none of them has completed yet resulting in the stream starving. Because the I/O memory pool is split into blocks of equal size (specified in AkDeviceSettings::uGranularity), the amount of memory that is referenced may be larger than the actual amount of valid data. For example, when one of these blocks contains the last few bytes of the file. When data caching is enabled for a given device, the sum of memory referenced by all its streams may exceed its streaming I/O pool size because some of these streams reference the same memory.

Buffering Status

A graphical representation of how close the stream is to its target buffering. It can be considered a measure of the stream's activity. The dark gray Buffering Status bar represents the amount of streamed data that has been transferred, and the light gray bars the amount of streamed data scheduled to be transferred into the stream. When its width is maximal, the stream's buffering (either already done or just scheduled) has reached its target and the stream becomes idle. When the sound engine consumes data from the stream, the buffering is decreased, making it less than the target, and the stream wakes up and asks for more data. The value that is displayed represents the instantaneous state of the stream when it was sampled by the profiler. A wide bar does not mean that the stream is not starving, because it also counts I/O transfers that have been scheduled but have not completed yet.

File Size

The size of the file being streamed.

File Position

A graphical representation that shows the position of the stream within the file.

Total Bandwidth

The rate at which the file was streamed in the last profiling frame. This value takes all transfers into account, including transfers that occurred from the Stream Manager's cache.

Bandwidth (Low-Level)

The rate at which the file was streamed in the last profiling frame. Unlike the Total Bandwidth field, this field value considers transfers that occurred from within the low-level device. This value is always less than or equal to Total Bandwidth.

Est. Throughput

The estimated throughput of the stream. The sound engine estimates the rate at which it consumes data from a stream according to its encoding format and number of channels. It pushes this value to the stream as a heuristic, which is used by the stream to determine its target buffering length (Buffer Size).

Active

Indicates True if the stream was active at least once during the last profiling frame. A stream is active if its target buffering has not been reached, or if it is waiting for at least one I/O transfer to complete.

Param Size (Custom)

Displays the value of AkFileDesc::uCustomParamSize that you have set in IAkFileLocationResolver::Open(). You can use it to pass your own profiling information. The file package low-level I/O sample of the SDK uses this value to store each file's low-level block size, and to determine if the files are part of a file package currently loaded.

Param (Custom)

Displays the value of AkFileDesc::pCustomParam that you have set in your implementation of IAkFileLocationResolver::Open().


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise