World of Tanks

Concurrent Rendering Support

Until recently, it didn’t make much sense for us to introduce concurrency technology as most players were playing on computers with dual-core processors. Well we’re already using the full capabilities of both cores in this case.

But, over the last few years, there’s been a noticeable shift in the number of players with 4- or 6-core CPUs and this increase shows no sign of slowing down. Currently, 60% of our player base have PCs with quad-core processors.

After careful analysis of the statistics, we realized that it was finally time to add an important technological feature to World of Tanks–full concurrent rendering support, developed in collaboration with Intel. To do this, we needed to “teach” the engine to perform calculations not in turn, but simultaneously on all available cores.

*update 1.0, without concurrent rendering support
*update 1.4, with concurrent rendering support

A Challenging, Yet Interesting Task

Sounds great, but it’s a really tough challenge.

The problem is that with the lowest settings, the CPU must process multiple tasks for rendering. But when you set the ultra-high settings, the number of these tasks increases. To complicate the situation, these tasks are uneven – some of them are calculated faster, others slower. Many of them depend on each other, and before starting new calculations, you need to wait for the results of the previous ones.

The performance gain of a particular PC will depend on many factors, including:

  • The version of your operating system
  • The processor, motherboard, graphics card and other components

You also need to understand that ?oncurrent rendering support is not a static, but a dynamic feature that performs differently on various presets, i.e. for different quality graphics settings.

  • On computers with low-spec CPUs and graphics cards, the performance gains will be minimal.
  • If the CPU is powerful and the graphics card is slow, there will be no noticeable performance increase either. The graphics card will already be clocking at the maximum even without concurrent rendering support, so it will not be able to provide the best graphics quality.
  • If, on the contrary, the processor is multi-core, but not very powerful, and your graphics card is fast, performance gains will be clearly noticeable.

Concurrent rendering will also be appreciated by those who play World of Tanks on a laptop. Typically, laptops are equipped with multi-core processors with low frequency and turbo-boost technology support. It increases the voltage on one core, temporarily raises its frequency and thereby increases its performance. A uniform load of all the cores will also help reduce the power consumption of the laptop therefore increasing the playing time when running off the battery.

What’s Next?

The implementation of concurrent graphics rendering is an important first step, the foundation for our future work. This solution will allow us to implement concurrent rendering in other game subsystems.

One of the goals that we’re pursuing here by implementing concurrent rendering support is that you can enjoy great graphics and dynamic gameplay on PCs you already have, without the need to upgrade them. We want the graphics and sound in World of Tanks to be even more realistic and exciting, but the system requirements remain the same.

Testing Our Solution

Currently we’re testing concurrency technology on PCs of various configurations. These tests take a lot of time, because our players have computers with a variety of system parameters. But it’s possible to now say already that this technology performs stably on PCs of various configurations. Check out what results we’ve achieved during the most recent tests!

6 comments

Comments are closed.