Sound Prioritization | EVE Online

Sound Prioritization

2022-09-21 - 作者 EVE Online Team

Bass-Blasting Capsuleers,

We are excited to announce that the audio feature originally demoed at Fanfest is being released in October and is already available for testing on Singularity! Sound prioritization, previously known as "audio culling”, drastically reduces CPU usage from the audio system during large fights. Not only does sound prioritization save on the CPU, but it also significantly improves the overall sound experience of EVE Online by intelligently choosing the most important sounds to play, along with limiting the overall number of sounds allowed to be played at once. That means more nuance, clarity, and realism across New Eden’s soundscape.

We know that a common fleet doctrine suggests that players disable audio when going into a large fleet fight. We can speculate that this has always been both because of how much CPU audio takes in large fights, as well as the cacophony of sounds that can be produced in such situations. Tackling those problems was exactly what motivated the creation of the sound prioritization feature, with a view to letting pilots turn their sound on and experience more immersive combat with a rich, dynamic audio backdrop that brings the battle to life. But before we dive into sound prioritization itself, let’s explore the challenge of those previous limitations.

EVE: The Demanding Boss

Have you ever had a boss that overloads you with so many tasks that you are constantly scrambling to keep up?

This is exactly what the relationship between EVE and its audio engine has always been like; EVE filling the role of demanding boss and its audio engine the devoted (if overwhelmed) employee. Let's see what a "dialogue" between EVE and its third-party audio engine, called Wwise, would look like:

The audio engine, while highly capable, can't keep up with EVE's tremendous demands, so it starts using 100% of its allotted CPU. The following video is what a scenario like this can sound like along with the audio engine's CPU usage:

Now, let's look at how sound prioritization moves the EVE client from being a demanding boss to a supportive and fair boss instead.

EVE: The Good Guy Boss

To be a supportive and fair boss, the EVE client needs to consider what is important when it comes to audio, and to make reasonable requests of Wwise, giving it some breathing room to render the sounds. Let's take another look at the "dialogue" between EVE and Wwise except this time let's play out what it would look like if EVE were the kind of boss we all deserve:

The results of being a less demanding, more focused boss to the sound system can be heard immediately:

Simply removing sounds indiscriminately is easy. However, this would give a less nuanced audio experience, so it is not the route we are taking. We want to deliver the best audio experience; not just throw as many sounds at you as possible. As part of this work, we had to consider carefully what sounds are considered 'important', which is a big question!

How Sounds are Prioritized

The sound prioritization system keeps track of all origin points from which sounds emit. The term used for this is "audio emitter". Based on how important an audio emitter is, it will either be kept alive and exposed to the audio engine, or it will be put to sleep and kept hidden from the audio engine entirely.

The most important factor when prioritizing audio emitters is how far away it is from the player's camera. The emitters that are closest to the camera are considered more important. In fact, the prototype shown at Fanfest was using only distance as its prioritization criteria. However, when applying only distance-based prioritization to anything outside of battles, it was killing off important environmental sounds. After Fanfest, the following additional factors were added for the sound prioritization to consider whether an emitter:

  • has ever been used to play a sound.
  • is actively playing a sound.
  • has sound in range of the listener.
  • is visible to the camera.
  • is playing a sound marked as "vital" by a sound designer.
  • is playing a 2D sound – A 2D sound is one that has no position in 3D space and is purely in stereo. Usually, if a 2D sound is playing in EVE then the sound designers meant for it to be an added atmospheric layer.
  • has a "one shot" queued to be played - A "one shot" is just a sound that has a clear 'start' and 'end', which is not designed to loop. A typical example of this is the sound of an explosion or the impact of a rocket.

All the above factors are considered to decide the "weight" of an audio emitter. With this value, we can decide how important a sound is in each scene.

Let's Talk Performance

As was shown in a previous video, sound prioritization cuts the CPU usage of EVE's audio engine in heavy scenes by about 75%. In a scene of around 2000 ships, previously the CPU used by the audio thread could easily reach its defined limit, in turn limiting the clarity and finesse of the soundscape.

Glance at the CPU usage comparison image below, and it's clear to see that the audio thread is regularly hitting 100% utilization when sound prioritization is disabled. When that happens, and the sound becomes cluttered or impacts performance, players understandably start to disable audio in busy scenes. Look to the right-hand side of the image, where sound prioritization is turned on, and the reduced demand on CPU is striking.

Because sound prioritization has a hard limit on how many audio emitters will be used, the cost of the audio thread on the CPU will stay between 20% to 30%. This stands true no matter how many ships are on screen at the same time. This may increase slightly if we add more complexity to sounds in the future, but this system allows us to have very tight control over how much CPU we use.

Let's Talk About the Soundscape

Sound prioritization doesn't just improve your game performance by freeing up system resources, it also improves the overall soundscape of EVE tremendously, and in almost every situation. You will notice a crisper sound experience, where it will be possible to hear the details of objects you are focused on while still getting the environmental cues necessary for gameplay. Where the soundscape could have felt overwhelming previously, you will now be able to enjoy the amazing sounds created by our talented sound designers.

It is much easier to hear the difference rather than write about it! Here is a clip from the last mass test that shows the differences between having sound prioritization on and off:

Conclusion

We've already had one mass test and made changes based on player feedback. Another mass test is scheduled for the 27th of September, and we would love to see you there! While this feature is now available on Singularity for testing, it will be available to all players as part of the EVE Evolved update on October 11th. We are very excited to bring this improved audio experience to you and look forward to your feedback.

Fly safe, turn your sound on, and turn up your volume!