Version
menu_open

Streaming Devices

The Advanced Profiler - Streaming Devices tab displays information about how each of the streaming devices are 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. This is the string that is returned from your implementation of IAkLowLevelIOHook::GetDeviceDesc().

IO Pool Size

The amount of memory reserved for the streaming I/O memory pool of this device. The reserved size is set when the streaming device is created, using AkDeviceSettings::uIOMemorySize.

Ratio Used

A graphical representation of the amount of memory used in relation to the total memory reserved in the streaming I/O pool. The darker gray bar represents the referenced cached memory (it cannot be discarded), while the lighter gray bar represents the unreferenced cached memory (it can be discarded).

Ref'd Mem.

The amount of memory that is currently used in the streaming I/O memory pool because it is either referenced by a stream or it is pinned to the cache.

Peak Ref'd Mem.

The maximum amount of referenced memory previously used in the streaming I/O memory pool—at any point before the cursor time.

This value can help you determine when the amount of memory being used is close to the reserved memory limit.

Unlike for other memory pools, it is acceptable to reach the streaming I/O pool limit from time to time. The most significant consequence is source starvation. However, if the streams require a lot more memory than what is available, they may stall for a very long time.

Cached Memory

The unreferenced memory in cache, meaning that which is neither in use by a playing stream nor pinned to cache, available in the streaming I/O memory pool.

Pinned to Cache

The streaming I/O memory pool cache memory that has been pinned (reserved) for use.

Allocs

The number of allocations performed since the streaming I/O memory pool was created.

When this number changes, it indicates that the streaming I/O memory pool is currently allocating memory.

Frees

The number of deallocations performed since the streaming I/O memory pool was created.

When this number changes, it indicates that the streaming I/O memory pool is currently deallocating memory.

Cur. Allocs

The number of memory blocks that are currently allocated in the streaming I/O memory pool. The Current Allocs value is the number of Allocs minus the number of Frees.

When this number changes, it indicates that the memory pool is currently allocating or deallocating memory.

Cache Efficiency

An estimation of the effectiveness of data caching. The cache efficiency is derived from the average difference between the low-level bandwidth and the total bandwidth (see "Bandwidth (Low-Level)" and "Total Bandwidth" below) over the lifetime of the profiling session.

Data caching may be enabled in the streaming I/O pool for a given device (see AkDeviceSettings::fMaxCacheRatio in the SDK documentation). Before preparing a data transfer, the streaming device searches in the pool for data corresponding to this file. If this data is found, then this data is used directly and no I/O transfer request is sent to the Low-Level I/O.

Granularity

The device's granularity (AkDeviceSettings::uGranularity). It represents the size of each memory block in the streaming I/O pool, and defines the size of I/O transfer requests to the Low-Level I/O.

Active Streams

The number of active streams in this device at any given point in time. 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.

Total Bandwidth

The rate at which data was being streamed in the last profiling frame for all streams existing in this device. 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 for all streams existing in this device. 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.

Completed Req. (Low-Level)

The number of I/O transfer requests that completed in the Low-Level I/O during the last profiling frame.

Canceled Req. (Low-Level)

The number of I/O transfer requests that were canceled in the Low-Level I/O during the last profiling frame.

Pending Req. (Low-Level)

The number of I/O transfer requests that were waiting to be completed by the Low-Level I/O when profiling occurred.

Custom Parameter

Displays the value that you return from your implementation of IAkLowLevelIOHook::GetData().


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