Efficient use of Vulkan in UE4 - Arm Community · PDF fileShowing UE4 ProtoStar video, as well...

21
1

Transcript of Efficient use of Vulkan in UE4 - Arm Community · PDF fileShowing UE4 ProtoStar video, as well...

1

2

3

Showing UE4 ProtoStar video, as well as running in real-time on a Samsung Galaxy S7 device.

4

Examples of graphics features that we’ve previously implemented on dedicated gaming consoles, but never on mobile.

5

A completely new graphics feature that we’ve never had before, on any platform.

6

7

8

9

10

11

12

Fusing of sub-passes is done in particular if there are shared input/output buffers between sub-passes. More but simpler shaders (or passes) can be faster than fewer but more complex shaders, because simpler shaders may require fewer number of temp registers. Less temp register usage improves GPU utilization (more GPU threads in parallel, better latency-hiding).

13

14

We wanted ProtoStar to be fast even on the first run, not just subsequent runs. That’s why we implemented the pipeline state cache for Vulkan.

15

16

17

OpenGL pays for this overhead all the time! For all drawcalls!

18

19

In particular, look at the Vulkan API implementation in our VulkanRHI source code.

20

BONUS SLIDE!

21