Delivered at Casual Connect Europe 2019. This talk highlights the greatest benefits you can get from using Vulkan in your mobile games and provides practical optimization advice based on AAA game experiences (Fortnite, PUBG mobile, etc.)
1. Next Level Mobile Graphics
Android game development support by Galaxy GameDev
Oleksii Vasylenko o.vasylenko@samsung.com
Munseong Kang moony.kang@samsung.com
SAMSUNG ELECTRONICS
4. Samsung Galaxy GameDev
• Game Engine Optimization
• Deliver custom engine for the game
• Device Loaner Program
• For supporting game dev and QA
• Workload Profiling Support
• To make balance between perf and quality
• Sharing analysis tool experience
• To improve development environment
• Remote / On-site Tech support
• Real tight co-work with game developer
22. Content related advices
• Shader optimization
• Early-Z improves performance by removing overdrawn fragments
• But in some cases, Early-Z algorithm is not executed to preserve correctness
• In UE4, if r.AllowGlobalClipPlane is turned on, every draws have discard()
(https://developer.arm.com/docs/100140/latest/advanced-graphics-techniques/using-early-z)
void main()
{
highp float f0 = _15.pu_h[31].x;
highp vec4 v1 = gl_FragCoord;
v1.w = 1.0 / gl_FragCoord.w;
if (in_OUTCLIPDIST < 0.0)
{
discard;
}
23. • Choose performance target carefully
CPU GPU
HD, 30 FPS
CPU GPU
FHD, 30 FPS
CPU GPU
FHD, 60 FPS
Quality settings
30. GPUWatch
CPU / GPU
utilization
1. Current FPS
2. Average FPS
3. FPS graph
Frame count /
Elapsed time of
one frame
Vertex activity
Fragment activity
Renderpass number /
draw call count /
payload count
31. • How to enable GPUWatch
GPUWatch
Run Game !!
with
GPUWatch