Riot explains the complex process of optimizing VALORANT

What’s the process behind optimization, and how exactly do the devs improve VALORANT’s performance?

Image via Riot Games

By optimizing abilities, equipment, and weapons in VALORANT Patch 2.1 on Tuesday, June 8, Riot improved client framerate by an average of one percent for medium to high spec computers.

But what’s the process behind optimization, and how exactly do the devs improve VALORANT’s performance? Riot QA manager Kevin O’Brien explained in a post on social media.

“First, we need to understand what is going on with the CPU,” he said. “How does the game task work to the CPU, what is it doing each frame, what kind of things are constant every frame, what changes frequently, what causes large spikes?”

Identifying an issue or an area that could be improved boils down to “what can we NOT do,” O’Brien said, “what exactly MUST we do every frame,” and “what could we afford to skip?” 

Everything in VALORANT has “some CPU impact,” O’Brien said. Switching to Raze’s grenade from your gun, for example, runs through the CPU. The command to switch, play the animation, and track what you’re doing all make an impact. 

In the case of optimizing an agent like Raze, Riot will check every frame or “tick” to identify whether or not you have the right weapon equipped, for example.

The devs could stop “ticking every frame” and save “utilization,” but what if they “remove that tick and now you’re able to get into a state where you’re holding a gun that the server disagrees with you about?” O’Brien said. 

This leads to yet another problem. When you go shoot your gun, it will fail. To prevent this from happening, Riot has to put in “guard.”

To remove that tick, Riot has to add a guard or a system that verifies that your client has correctly confirmed which weapon you are holding before it “sleeps” or stops ticking that “weapon’s equip status,” O’Brien said.

But a system like this can be “very risky—” though most performance optimizations are “inherently very risk at this stage of the project,” he said. This means, “robust test planning and playtesting” to verify everything is in working order is essential to the process. 

The system goes through the same cycle:

  • Identify subsystem
  • Determine if there’s another way the devs could achieve the same result but with fewer resources
  • Implement the new system
  • Test to make sure it doesn’t break functionality
  • Remove old system and continue testing
  • Release it

This isn’t the case for every optimization though, O’Brien said. Sometimes it’s “kind of free.” If a system is no longer relevant, for example, the devs just turn it off. But those types of “wins” were more common around the time VALORANT launched in 2020. 

Now, according to O’Brien, it’s “much harder to get each subsequent gain,” leaving the devs with a “couple” of options. “We can look for more juice in the line, (squeeze harder)” he said, or “we can rethink how we get more juice (add more limes).” 

That’s where the devs efforts have to “split,” O’Brien said. “Optimizations that simply make the game faster are fantastic, but they become harder and harder to make over time,” making multithreading—the ability of a CPU to prove multiple threads of execution concurrently, supported by the operating system—”very important.”

There’s also the question of how can the devs “push more work off the main thread and onto other cores?” O’Brien said. “This is another avenue that VAL has a lot of work we can do to make the game faster.”

In other words, optimizing is a complex process that’s “really hard,” O’Brien said. “We all just want more frames.”

Make sure to follow us on YouTube for more esports news and analysis.