Case study: optimization of Unreal games for embedded graphics solutions
Why it is important to optimize PC games for integrated graphics solutions and how to make them produce 60 frames per second Unreal project, – indie developers from High Horse Entertainment told in the blog of the engine.
With the help of a very simple and unexpected solution, Jay Mattis and Timothy Rapp, who previously worked on a series of games such as Call of Duty and Guitar Hero and are the only employees of High Horse Entertainment, managed to launch their project, developed on Unreal 4, on Intel HD 4000. It would seem nothing complicated, but this is at a resolution of 1280×720 and a stable frame rate of 60 frames.
Why did developers even take up optimization for an integrated solution? There are two reasons.
Firstly, there is significant competition in the market. “If no one is playing, no one can find an opponent. For this reason, it is very important for us to maintain the maximum number of configurations,” Jay and Timothy write.
They know that about 40% of the computers they play on use integrated graphics solutions from Intel. In an oversaturated market, ignoring such a solid share of users can cost the studio dearly.
What did High Horse Entertainment do?
Initially, they tested the performance of Unreal Engine 4.12.5 “out of the box” on the existing “Shooter” example. On a machine with an Intel® Core™ i7-4720 processor and Intel® HD Graphics 4600 graphics, the demo showed about 20 frames per second at the maximum parameters, and about 40 frames per second at the minimum.
Most teams could do it, but it was fundamentally important for Jay and Timothy that the game gave out even at the minimum settings of 60 frames. At the same time, they understood that the existing render is unlikely to allow them to do this.
But Unreal Engine 4 has a feature — Mobile Preview, which allows you to visualize the game on the desktop using a mobile render. The demo “Shooter” within the Mobile Preview began to produce about 100 frames per second.
Disc Jam itself, after optimization, began to show the desired 60 frames on the integrated graphics at a resolution of 1280×720 pixels.
The main problem after that was related only to adjusting the lights and shadows, in which the mobile render is limited. You can read about what exactly the developers changed in the code for this purpose here.
When launching games from Steam, users themselves, after the release of the game, will be able to choose which version of the game they want to run: full-fledged or for weak machines.
Disc Jam has not yet been released, but already, according to SteamSpy, the game, which is in a closed pre-alpha, has about 80 thousand users.
Source: Unreal Engine Blog