📜 ⬆️ ⬇️

VR rendering and optimization

This article is the second in a series about the qualitative development of VR projects. We have previously studied the principles of working with the camera in the article “VR-Design: a look into the virtual world ” . Links to other materials can be found in the review article .

To create a virtual reality, you need a complex interaction of hardware and software. In addition, each individual component plays an important role.

Today we will look at the software in more detail and understand what is happening at its various levels. If you can understand these basics, you will get the necessary knowledge in order to properly optimize your projects.
')
In particular, we want to expand your knowledge about rendering and optimizing VR applications so that it is easier for you to develop high-quality VR projects. You need to know, for example, how the camera influences development.

90 frames per second


It is fundamentally important that we provide rendering of 90 frames per second (abbreviated FPS). It was not easy when developing classic games, and in VR this problem became even sharper.

Since the visible area must be rendered twice for each eye with its own perspective. In the 3D engines are already built accelerators double rendering, but they still can not be a full counterweight for this additional load.

You really, really have to watch framerate.

You don’t wanna make yourself sick.


- Dylan Fitterer, developer from Audioshield

You may have heard the term “motion to photon latency”. It describes the time elapsed between changing the position and updating images in VR glasses. Ideally, this time should be less than 30 milliseconds.

As a rule, the most common engines and SDK allow the developer not to think about it. They take on this difficult job. Thanks to them, our 3D scenes are optimized for any type of device, position and curvature of the lenses.

In addition, we automatically get new rendering accelerators using engines. For example, the developers of Unity recently presented an extensive update to improve the optimization, some of the load was transferred from the CPU to the GPU - from the processor to the graphics card - and so the load decreases.

The difficulties that occur at this rendering level are too large for this article. But if you want to seriously take up this topic, then I advise you to report Alex-Vlachos on the topic "Advanced VR Rendering"!


Also, go for quantity.

Try a lot of different things, new concepts.


- Dylan Fitterer, developer from Audioshield

As long as we control our FPS and it is quite high, we are on the right track. To achieve this, you need to pay attention to a couple of points during development.

Useful tools



image

When developing, you should not rely on your own feelings, as there are very useful tools for testing the performance of our VR applications.

NVIDIA's Tool Nsight works closely with the graphics card and is popular with engine developers. But in practice, for precise performance monitoring, you can use the tools of Unity or the Unreal Engine.

image
Unity 3D Profiler provides important information about the performance of your VR application.

In addition, it would be ideal if you used a computer that meets the minimum requirements of any necessary device to test your VR projects. So you can be sure that you will see the VR application in the same way as the users will see them later.

Focus on animation, sound and interaction


On the technical side, there are certain points that we can optimize. But these are all special cases, depending on the context.

However, we can draw inspiration from mobile gaming optimization techniques. Since they develop similar performance problems, especially at high resolutions (for example, iPad Retina).

We have great potential for improving our VR apps. In visual terms, our virtual worlds should not compete with classic games in the level of detail.

In VR, the visual component goes into the background, as other elements are important. Therefore, we can easily simplify our 3D models and effects and, thus, reduce the load.

The world of VR-project is on three pillars: animation, sound and interaction. Therefore, you should aim all your time and inspiration at these aspects.

Better make a strong simplification of graphics and invest your time and power saved in live animation and suitable sound, they will complement the scene and make it even brighter. Do not forget about interactive. It is he who will interest and entertain the user.

A great example of this way of VR development is the “Job Simulator” game:


The fact that the excellent visual component in VR projects is not a necessity, and the combination of live animation and simple graphics looks quite believable, you can see in this video:


Help for you:

How important is the correct implementation of sound effects in VR projects, and why when simulating 3D sounds still resort to deception, we will see in the next article.

If you in your VR project go beyond the limits of acceptable performance and are looking for help in optimizing, you can contact me .

As already mentioned, the use of various optimization methods is appropriate and appropriate depending on the context and project. And it is often not so easy to understand which component of a project is responsible for performance degradation.

Next, we will study the principles of working with sound in the article “Sound Effects in Virtual Worlds” .

Source: https://habr.com/ru/post/321784/


All Articles