Object playback tips and best practices
Before deciding on the playback behaviors for the objects in your project hierarchy, review
the following sections. They provide tips and best practices that can help get the
results you want.
Generally, the best practice is to stream sounds that are too large to store in memory, for
example music, ambient room tones, and even voices, if there are many of them.
However, many different things come into play when determining which option is best.
At the beginning of your project, we recommend that you speak to the development team
to determine the following:
How many streams will be available for audio?
What is the bandwidth of each stream?
Will these streams be shared?
How many concurrent streams can you use?
Will the streaming occur from the platform hard drive, directly from disc, or from a remote server?
With this information, along with a sound's sample rate and compression format, you can perform some calculations and then make informed decisions about whether to stream sounds or not.
The more streams you have playing concurrently, the more prefetch time will be required.
You can start out using a short prefetch time, but as the number of concurrent
streams increases over the course of your project, you might need to increase
it.
Avoiding repetition of sounds within Random Containers that have a scope set to “global” -
the purpose of using a continuous Random Container in shuffle mode is to avoid the
repetition of sounds. If, however, your container has a limited number of sounds and
you have many instances of this container playing back, you might experience some
repetition. To avoid this type of behavior, make sure that the number of sound
objects within the container is at least twice the number of playback instances. For
example, if you have three playback instances of the same Random Container, we
recommend that your Container contain at least six different sound objects to avoid
repetition.
CPU usage: be aware that when you play a Blend Container, all the objects in it will play
simultaneously and can therefore use up a large amount of memory.
You can use the virtual voices settings to reduce CPU use, but this
might result in glitches if crossfades are short and frequent. For more
information on using virtual voices, refer to Volume threshold and virtual voices.
Deciding between Switches and Blend Containers: during gameplay, both Switch Containers
and Blend Containers can be used with RTPCs and produce similar results.
According to your requirements, consider the following:
If you want different objects to be played at different times, and crossfades are unimportant, you can use a Switch Container.
If you want all objects to be played at all times, and if crossfades are required, use a Blend Container.
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