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" section 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.

A status bar is displayed in two possible colors:

  • Gray: Indicates the portion of requested data that is buffered.

  • Orange (or blue in the Classic theme): Indicates the portion of requested data that is not yet buffered. This includes any data for which I/O transfers are scheduled but not yet completed.

When no data has been requested, the status bar is empty.

When the full width of the status bar is gray, the stream's buffering has reached its target and the stream becomes idle. As the sound engine consumes data from the stream, the buffer length decreases, bringing it below the target. At this point, the stream requests more data. If the buffer is not restored to its target length, the status bar turns orange (or blue in the Classic theme).

The color(s) of the status bar are based on the instantaneous state of the stream when it was last sampled by the profiler. The following image shows an example of a status bar that is part gray and part orange. However, with most modern data storage devices, transitions between a fully gray bar and a fully orange (or blue) bar happen very quickly, often between frames. Hence, in most cases, you will observe a status bar that is either one color or the other.

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