21
1

Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

1

Page 2: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

2

Page 3: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

3

Page 4: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

4

Page 5: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

5

Page 6: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

6

Page 7: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

7

Page 8: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

8

Page 9: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

9

Page 10: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

10

Page 11: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

11

Page 12: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

12

Page 13: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

Page 14: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

14

Page 15: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

Page 16: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

16

Page 17: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

17

Page 18: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

18

Page 19: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

19

Page 20: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

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

20

Page 21: Efficient use of Vulkan in UE4 - Arm Community · 2017-04-20 · UNREAL ENGINE EFFICIENT USE OF VULKAN Nik las "Smedis" Smedberg Technical Director, Platform Partnerships, Epic Games

BONUS SLIDE!

21