SlideShare uma empresa Scribd logo
1 de 34
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
Overview
• Samsung Galaxy GameDev
• Game optimization best practices
• GPUWatch
Samsung Galaxy GameDev
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
Samsung Galaxy GameDev
Samsung Galaxy GameDev
Our partners
GameLoft, Asphalt 8
Cornfox&Bros, Oceanhorn: Monster of Uncharted Seas
Deep Silver, Galaxy On Fire 3: Manticore!
Digital Legends Entertainment, Afterpulse
First Touch Games, Score! Hero / Dream League Soccer
Tencent, Honor of Kings (Unity5)
Pearl Abyss, BlackDesert Mobile (BDE)
Epic Games, Fortnite Battle Royal Mobile (UE4)
Netmarble, Seven Knights2 (UE4)
Moai Games, Traha (UE4)
NC Soft, Aion2 (UE4)
Tencent, PUBG Mobile(UE4)
Amazon Lumberyard, Bistro
Tencent, Call of Duty Mobile (Unity5)
Tencent, QQ Speed (Unity2017)
Collaboration history
Epic Games, ProtoStar Galaxy S7 Collaboration (UE4)
NetGames, HIT (UE4)
Super Evil MegaCorp, VainGlory (Inhouse)
HeroDC (Unity5)
Nexon, Kaiser (Unity5)
Netmarble, Lineage 2: Revolution (UE4)
Nexon, AxE (Unity5)
XL Games, Archeage: Begins (UE4)
Action Square, Blade II (UE4)
Hound13, HundredSoul (Unity5)
Netmarble, TeraM (Unity5)
Square Enix, FinalFantasy XV Pocket Edition (Unity5)
Croteam, Talos Principle (SeriousEngine)
Roblox Corporation, Roblox
Coatsink, Shu
Doragon Entertainment, Danmaku Unlimited 3
20162017
201720182019
Game optimization best
practices
High Fidelity Gaming Experience
★ High Quality Graphics
★ Immersive GamePlay
★ Ultra High Performance
Mobile GPU challenges
● Limited power budget
● Unified memory
● Thermal throttling
Mobile GPU challenges
● Limited power budget
● Unified memory
● Thermal throttling
Quality vs Performance
Mobile GPU challenges
● Limited power budget
● Unified memory
● Thermal throttling
Quality and Performance
Lower CPU overhead
• OpenGL ES is state-based API
• Vulkan is handle-based API
• In OpenGL ES uses runtime error checking
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
Submit
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
DrawCall
Submit
Processing budget
Balanced CPU/GPU usage
• OpenGL ES vs Vulkan
• Concept demo
• Snowball : FPS 11 -> 37, CPU usage 46% -> 26%
• Lego : FPS 11 -> 26, CPU usage 31% -> 27%
CPU GPU CPU GPU
Explicit control
• Interaction with SurfaceFlinger
Frame time : 54ms
Image acquire time : 23ms Pipeline creation time : 22ms
Frame time : 33ms
Pipeline creation time : 22ms
Acquire
Image
Draw Draw Draw Draw Submit Present
Draw Draw Draw Draw Submit Present
Acquire
Image for
Next frame
No wait!!
Explicit control
Buffer raw data
VkBuffer /
VkDevice Memory
VkUpdate
DescriptorSets
vkCmdBind
DescriptorSets
(offset = null)
Draw
Buffer raw data
VkBuffer / VkDevice Memory
DEVICE LOCAL / HOST VISIBLE / COHERENT
VkUpdate
DescriptorSets
Draw
Buffer raw data
VkUpdate
DescriptorSets
Draw
... Buffer raw data
VkBuffer / VkDevice Memory
DEVICE LOCAL / HOST VISIBLE / COHERENT
Draw
Buffer raw data
Draw
...
vkCmdBind
DescriptorSets
(offset = null)
vkCmdBind
DescriptorSets
(offset = null)
vkCmdBind
DescriptorSets
(offset = [offset data])
vkCmdBind
DescriptorSets
(offset = [offset data])
Use huge buffer to save
buffer creation time
Reuse descriptorSet by using
dynamic offset
• Memory management
● Each feature may affect each GPU differently
● Consider VkPhysicalDeviceLimits first!
Explicit control
• Load/Store is very expensive
• Memory bandwidth
Carefully Load & Store
VkAttachmentDescription desc = {};
desc.loadOp = VK_ATTACHMENT_LOAD_OP_*;
desc.storeOp = VK_ATTACHMENT_STORE_OP_*;
typedef enum VkAttachmentLoadOp {
VK_ATTACHMENT_LOAD_OP_LOAD = 0,
VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
} VkAttachmentLoadOp;
typedef enum VkAttachmentStoreOp {
VK_ATTACHMENT_STORE_OP_STORE = 0,
VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
} VkAttachmentStoreOp;
Power budget
CPU GPU
CPU bounding
CPU GPU
Normal case
CPU GPU
GPU bounding
Limitation of Vulkan
CPU GPU CPU GPU CPU GPU
NO CPU bounding Normal case GPU bounding
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;
}
• Choose performance target carefully
CPU GPU
HD, 30 FPS
CPU GPU
FHD, 30 FPS
CPU GPU
FHD, 60 FPS
Quality settings
Let’s go!
• Unity and UE4 both support Vulkan
GPUWatch
Common tools in market
Renderdoc
- Vulkan / GLES structure information
analysis tool
https://renderdoc.org/
GameBench
- Performance check tool
https://www.gamebench.net/
GPUWatch
28
Installation
PC connection
Display on PC
Not real-time
No full support
w/o root permission
Server
GPUWatch
29
No Installation
No PC connection
Display on Device
Real-time
Fully support
w/o root permission
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
• How to enable GPUWatch
GPUWatch
Run Game !!
with
GPUWatch
GPUWatch - example
● Base project
GPUWatch - example
Pipeline barrier
optimization
Multipass optimization
Thank You!
For more information please contact gamedev@samsung.com

Mais conteúdo relacionado

Semelhante a NEXT LEVEL MOBILE GRAPHICS

Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformSatya Harish
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Unity Technologies
 
How to build a state-of-the-art rails cluster
How to build a state-of-the-art rails clusterHow to build a state-of-the-art rails cluster
How to build a state-of-the-art rails clusterTim Lossen
 
High Fidelity Games: Real Examples, Best Practices ... | Oleksii Vasylenko
High Fidelity Games: Real Examples, Best Practices ... | Oleksii VasylenkoHigh Fidelity Games: Real Examples, Best Practices ... | Oleksii Vasylenko
High Fidelity Games: Real Examples, Best Practices ... | Oleksii VasylenkoJessica Tams
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaŁukasz Piątkowski
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanJimin Hsieh
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
Scalability & Big Data challenges in real time multiplayer games
Scalability & Big Data challenges in real time multiplayer gamesScalability & Big Data challenges in real time multiplayer games
Scalability & Big Data challenges in real time multiplayer gamesYan Cui
 
Nytro-XV_NWD_VM_Performance_Acceleration
Nytro-XV_NWD_VM_Performance_AccelerationNytro-XV_NWD_VM_Performance_Acceleration
Nytro-XV_NWD_VM_Performance_AccelerationKhai Le
 
TestUpload
TestUploadTestUpload
TestUploadZarksaDS
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesPooya Eimandar
 
Porting games from ps3 or web to shield and ouya [final]
Porting games from ps3 or web to shield and ouya [final]Porting games from ps3 or web to shield and ouya [final]
Porting games from ps3 or web to shield and ouya [final]Jean-Philippe Doiron
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUJiansong Chen
 
DevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on KubernetesDevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on KubernetesDinakar Guniguntala
 

Semelhante a NEXT LEVEL MOBILE GRAPHICS (20)

Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
 
How to build a state-of-the-art rails cluster
How to build a state-of-the-art rails clusterHow to build a state-of-the-art rails cluster
How to build a state-of-the-art rails cluster
 
High Fidelity Games: Real Examples, Best Practices ... | Oleksii Vasylenko
High Fidelity Games: Real Examples, Best Practices ... | Oleksii VasylenkoHigh Fidelity Games: Real Examples, Best Practices ... | Oleksii Vasylenko
High Fidelity Games: Real Examples, Best Practices ... | Oleksii Vasylenko
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing Aurea
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
Lets Play Together
Lets Play TogetherLets Play Together
Lets Play Together
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Pc54
Pc54Pc54
Pc54
 
Scalability & Big Data challenges in real time multiplayer games
Scalability & Big Data challenges in real time multiplayer gamesScalability & Big Data challenges in real time multiplayer games
Scalability & Big Data challenges in real time multiplayer games
 
Nytro-XV_NWD_VM_Performance_Acceleration
Nytro-XV_NWD_VM_Performance_AccelerationNytro-XV_NWD_VM_Performance_Acceleration
Nytro-XV_NWD_VM_Performance_Acceleration
 
TestUpload
TestUploadTestUpload
TestUpload
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
All The Little Pieces
All The Little PiecesAll The Little Pieces
All The Little Pieces
 
Porting games from ps3 or web to shield and ouya [final]
Porting games from ps3 or web to shield and ouya [final]Porting games from ps3 or web to shield and ouya [final]
Porting games from ps3 or web to shield and ouya [final]
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPU
 
DevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on KubernetesDevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on Kubernetes
 
A funtro to real-time ray-tracing
A funtro to real-time ray-tracingA funtro to real-time ray-tracing
A funtro to real-time ray-tracing
 

Mais de Jessica Tams

You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan Dunn
You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan DunnYou Only Pitch Once – Getting Game Pitches Right The First Time | Gregan Dunn
You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan DunnJessica Tams
 
Insights You Need to Win in Mobile Gaming | Herman Lee
Insights You Need to Win in Mobile Gaming | Herman LeeInsights You Need to Win in Mobile Gaming | Herman Lee
Insights You Need to Win in Mobile Gaming | Herman LeeJessica Tams
 
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...Jessica Tams
 
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’Donoghue
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’DonoghueSucceeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’Donoghue
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’DonoghueJessica Tams
 
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...Jessica Tams
 
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Jessica Tams
 
The rise of the regulators | Paul Gardner
The rise of the regulators | Paul GardnerThe rise of the regulators | Paul Gardner
The rise of the regulators | Paul GardnerJessica Tams
 
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...Jessica Tams
 
Epic Team Principles | Roman Zorin
Epic Team Principles | Roman ZorinEpic Team Principles | Roman Zorin
Epic Team Principles | Roman ZorinJessica Tams
 
10 Years of Angry Birds | Stephen Porter
10 Years of Angry Birds | Stephen Porter10 Years of Angry Birds | Stephen Porter
10 Years of Angry Birds | Stephen PorterJessica Tams
 
Game Changers: Three Business Disruptions Upon Us | Eric Goldberg
Game Changers: Three Business Disruptions Upon Us | Eric GoldbergGame Changers: Three Business Disruptions Upon Us | Eric Goldberg
Game Changers: Three Business Disruptions Upon Us | Eric GoldbergJessica Tams
 
Understanding Mobile Game Players | Saad Hameed
Understanding Mobile Game Players | Saad HameedUnderstanding Mobile Game Players | Saad Hameed
Understanding Mobile Game Players | Saad HameedJessica Tams
 
Soft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaSoft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaJessica Tams
 
1 Million Years of Audience Watch Time | James Beaven
1 Million Years of Audience Watch Time | James Beaven1 Million Years of Audience Watch Time | James Beaven
1 Million Years of Audience Watch Time | James BeavenJessica Tams
 
Accessible Reality | Trevor Blom
Accessible Reality | Trevor BlomAccessible Reality | Trevor Blom
Accessible Reality | Trevor BlomJessica Tams
 
Maximizing App Monetization: 5 Uncommon Tips | Rémy Cottin
Maximizing App Monetization: 5 Uncommon Tips | Rémy CottinMaximizing App Monetization: 5 Uncommon Tips | Rémy Cottin
Maximizing App Monetization: 5 Uncommon Tips | Rémy CottinJessica Tams
 
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...Jessica Tams
 
Commercial and Contractual Stability in Esports | Adam Whyte
Commercial and Contractual Stability in Esports | Adam WhyteCommercial and Contractual Stability in Esports | Adam Whyte
Commercial and Contractual Stability in Esports | Adam WhyteJessica Tams
 
Playtika's growth by change | Boaz Levin
Playtika's growth by change | Boaz LevinPlaytika's growth by change | Boaz Levin
Playtika's growth by change | Boaz LevinJessica Tams
 
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...Jessica Tams
 

Mais de Jessica Tams (20)

You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan Dunn
You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan DunnYou Only Pitch Once – Getting Game Pitches Right The First Time | Gregan Dunn
You Only Pitch Once – Getting Game Pitches Right The First Time | Gregan Dunn
 
Insights You Need to Win in Mobile Gaming | Herman Lee
Insights You Need to Win in Mobile Gaming | Herman LeeInsights You Need to Win in Mobile Gaming | Herman Lee
Insights You Need to Win in Mobile Gaming | Herman Lee
 
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...
Zero to 60: Building A Successful Games Studio Within A Hollywood Media Compa...
 
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’Donoghue
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’DonoghueSucceeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’Donoghue
Succeeding in the Maturing Mobile Gaming Market | Tuyen Nguyen, Owen O’Donoghue
 
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...
Staying on Top of Your Game: Engaging and Converting Players in an Evolving L...
 
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
Improving LTV with Personalized Live Ops Offers: Hill Climb Racing 2 Case Stu...
 
The rise of the regulators | Paul Gardner
The rise of the regulators | Paul GardnerThe rise of the regulators | Paul Gardner
The rise of the regulators | Paul Gardner
 
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...
Why the Games Industry Needs Initiatives Like Putting The G Into Gaming | Liz...
 
Epic Team Principles | Roman Zorin
Epic Team Principles | Roman ZorinEpic Team Principles | Roman Zorin
Epic Team Principles | Roman Zorin
 
10 Years of Angry Birds | Stephen Porter
10 Years of Angry Birds | Stephen Porter10 Years of Angry Birds | Stephen Porter
10 Years of Angry Birds | Stephen Porter
 
Game Changers: Three Business Disruptions Upon Us | Eric Goldberg
Game Changers: Three Business Disruptions Upon Us | Eric GoldbergGame Changers: Three Business Disruptions Upon Us | Eric Goldberg
Game Changers: Three Business Disruptions Upon Us | Eric Goldberg
 
Understanding Mobile Game Players | Saad Hameed
Understanding Mobile Game Players | Saad HameedUnderstanding Mobile Game Players | Saad Hameed
Understanding Mobile Game Players | Saad Hameed
 
Soft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan TredreaSoft Launch Planning and Management | Dylan Tredrea
Soft Launch Planning and Management | Dylan Tredrea
 
1 Million Years of Audience Watch Time | James Beaven
1 Million Years of Audience Watch Time | James Beaven1 Million Years of Audience Watch Time | James Beaven
1 Million Years of Audience Watch Time | James Beaven
 
Accessible Reality | Trevor Blom
Accessible Reality | Trevor BlomAccessible Reality | Trevor Blom
Accessible Reality | Trevor Blom
 
Maximizing App Monetization: 5 Uncommon Tips | Rémy Cottin
Maximizing App Monetization: 5 Uncommon Tips | Rémy CottinMaximizing App Monetization: 5 Uncommon Tips | Rémy Cottin
Maximizing App Monetization: 5 Uncommon Tips | Rémy Cottin
 
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...
Do You Have What it Takes? What VCs are Looking For in Esports Investments | ...
 
Commercial and Contractual Stability in Esports | Adam Whyte
Commercial and Contractual Stability in Esports | Adam WhyteCommercial and Contractual Stability in Esports | Adam Whyte
Commercial and Contractual Stability in Esports | Adam Whyte
 
Playtika's growth by change | Boaz Levin
Playtika's growth by change | Boaz LevinPlaytika's growth by change | Boaz Levin
Playtika's growth by change | Boaz Levin
 
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...
Only the Best is Good Enough: How LEGO is Transforming its Approach to Videog...
 

Último

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

NEXT LEVEL MOBILE GRAPHICS

  • 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
  • 2. Overview • Samsung Galaxy GameDev • Game optimization best practices • GPUWatch
  • 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
  • 8. GameLoft, Asphalt 8 Cornfox&Bros, Oceanhorn: Monster of Uncharted Seas Deep Silver, Galaxy On Fire 3: Manticore! Digital Legends Entertainment, Afterpulse First Touch Games, Score! Hero / Dream League Soccer Tencent, Honor of Kings (Unity5) Pearl Abyss, BlackDesert Mobile (BDE) Epic Games, Fortnite Battle Royal Mobile (UE4) Netmarble, Seven Knights2 (UE4) Moai Games, Traha (UE4) NC Soft, Aion2 (UE4) Tencent, PUBG Mobile(UE4) Amazon Lumberyard, Bistro Tencent, Call of Duty Mobile (Unity5) Tencent, QQ Speed (Unity2017) Collaboration history Epic Games, ProtoStar Galaxy S7 Collaboration (UE4) NetGames, HIT (UE4) Super Evil MegaCorp, VainGlory (Inhouse) HeroDC (Unity5) Nexon, Kaiser (Unity5) Netmarble, Lineage 2: Revolution (UE4) Nexon, AxE (Unity5) XL Games, Archeage: Begins (UE4) Action Square, Blade II (UE4) Hound13, HundredSoul (Unity5) Netmarble, TeraM (Unity5) Square Enix, FinalFantasy XV Pocket Edition (Unity5) Croteam, Talos Principle (SeriousEngine) Roblox Corporation, Roblox Coatsink, Shu Doragon Entertainment, Danmaku Unlimited 3 20162017 201720182019
  • 10. High Fidelity Gaming Experience ★ High Quality Graphics ★ Immersive GamePlay ★ Ultra High Performance
  • 11. Mobile GPU challenges ● Limited power budget ● Unified memory ● Thermal throttling
  • 12. Mobile GPU challenges ● Limited power budget ● Unified memory ● Thermal throttling Quality vs Performance
  • 13. Mobile GPU challenges ● Limited power budget ● Unified memory ● Thermal throttling Quality and Performance
  • 14. Lower CPU overhead • OpenGL ES is state-based API • Vulkan is handle-based API • In OpenGL ES uses runtime error checking DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall Submit DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall DrawCall Submit Processing budget
  • 15. Balanced CPU/GPU usage • OpenGL ES vs Vulkan • Concept demo • Snowball : FPS 11 -> 37, CPU usage 46% -> 26% • Lego : FPS 11 -> 26, CPU usage 31% -> 27% CPU GPU CPU GPU
  • 16. Explicit control • Interaction with SurfaceFlinger Frame time : 54ms Image acquire time : 23ms Pipeline creation time : 22ms Frame time : 33ms Pipeline creation time : 22ms Acquire Image Draw Draw Draw Draw Submit Present Draw Draw Draw Draw Submit Present Acquire Image for Next frame No wait!!
  • 17. Explicit control Buffer raw data VkBuffer / VkDevice Memory VkUpdate DescriptorSets vkCmdBind DescriptorSets (offset = null) Draw Buffer raw data VkBuffer / VkDevice Memory DEVICE LOCAL / HOST VISIBLE / COHERENT VkUpdate DescriptorSets Draw Buffer raw data VkUpdate DescriptorSets Draw ... Buffer raw data VkBuffer / VkDevice Memory DEVICE LOCAL / HOST VISIBLE / COHERENT Draw Buffer raw data Draw ... vkCmdBind DescriptorSets (offset = null) vkCmdBind DescriptorSets (offset = null) vkCmdBind DescriptorSets (offset = [offset data]) vkCmdBind DescriptorSets (offset = [offset data]) Use huge buffer to save buffer creation time Reuse descriptorSet by using dynamic offset • Memory management
  • 18. ● Each feature may affect each GPU differently ● Consider VkPhysicalDeviceLimits first! Explicit control
  • 19. • Load/Store is very expensive • Memory bandwidth Carefully Load & Store VkAttachmentDescription desc = {}; desc.loadOp = VK_ATTACHMENT_LOAD_OP_*; desc.storeOp = VK_ATTACHMENT_STORE_OP_*; typedef enum VkAttachmentLoadOp { VK_ATTACHMENT_LOAD_OP_LOAD = 0, VK_ATTACHMENT_LOAD_OP_CLEAR = 1, VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF } VkAttachmentLoadOp; typedef enum VkAttachmentStoreOp { VK_ATTACHMENT_STORE_OP_STORE = 0, VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF } VkAttachmentStoreOp;
  • 20. Power budget CPU GPU CPU bounding CPU GPU Normal case CPU GPU GPU bounding
  • 21. Limitation of Vulkan CPU GPU CPU GPU CPU GPU NO CPU bounding Normal case GPU bounding
  • 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
  • 24. Let’s go! • Unity and UE4 both support Vulkan
  • 25.
  • 27. Common tools in market Renderdoc - Vulkan / GLES structure information analysis tool https://renderdoc.org/ GameBench - Performance check tool https://www.gamebench.net/
  • 28. GPUWatch 28 Installation PC connection Display on PC Not real-time No full support w/o root permission Server
  • 29. GPUWatch 29 No Installation No PC connection Display on Device Real-time Fully support w/o root permission
  • 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
  • 32. GPUWatch - example ● Base project
  • 33. GPUWatch - example Pipeline barrier optimization Multipass optimization
  • 34. Thank You! For more information please contact gamedev@samsung.com