This document discusses best practices for mobile graphics optimization in Unity for artists. It covers topics like texturing, geometry, shaders, and frame rendering. For texturing, it recommends techniques like mipmapping, bilinear filtering, texture compression, and channel packing. For geometry, it suggests avoiding small/thin triangles and duplicating vertices while using instancing. For shaders, it discusses precision, early Z-testing, overdraw reduction, and dynamic branching. For frame rendering, it recommends reducing state switches and framebuffer writes/clears.
Unity mobile game performance profiling – using arm mobile studioOwen Wu
本議程將使用實際的Unity專案來說明如何在手機上有效的進行效能分析,除了介紹使用Unity本身的效能分析工具外,也會介紹如何使用Arm Mobile Studio來做更為精確的效能分析。
目標對象與預期收穫
Unity遊戲工程師可以從本議程中學習到有效的手機遊戲效能分析知識及技巧,從而能快速且正確地找出手機遊戲的效能瓶頸。
Unity mobile game performance profiling – using arm mobile studioOwen Wu
本議程將使用實際的Unity專案來說明如何在手機上有效的進行效能分析,除了介紹使用Unity本身的效能分析工具外,也會介紹如何使用Arm Mobile Studio來做更為精確的效能分析。
目標對象與預期收穫
Unity遊戲工程師可以從本議程中學習到有效的手機遊戲效能分析知識及技巧,從而能快速且正確地找出手機遊戲的效能瓶頸。
This presentation accompanies the webinar replay located here: http://bit.ly/1zmvlkL
AMD Media SDK Software Architect Mikhail Mironov shows you how to leverage an AMD platform for multimedia processing using the new Media Software Development Kit. He discusses how to use a new set of C++ interfaces for easy access to AMD hardware blocks, and shows you how to leverage the Media SDK in the development of video conferencing, wireless display, remote desktop, video editing, transcoding, and more.
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsPrabindh Sundareson
Introduction to OpenGL ES and GPU Programming portion of the 7 part session on GFX workshops. Introduces the OpenGL ES specifications from Khronos and provides a perspective of current GPU architectures.
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Unity Technologies
In this technical talk, we will describe the science behind the UIElements rendering system, built from the ground up for retained-mode UI. It uses every CPU/GPU trick in the book to render thousands of different elements onscreen in a fraction of a millisecond, all on one thread. This powerful UI performance and optimization tool also supports complex features like clipping and vector graphics, even on low-end devices.
Speaker: Wessam Bahnassi – Unity
Watch the session on YouTube: https://youtu.be/zeCdVmfGUN0
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
This presentation discusses the Mantle API, what it is, why choose it, and abstraction level, small batch performance and platform efficiency.
Download the presentation from the AMD Developer website here: http://bit.ly/TrEUeC
Checkerboard Rendering in Dark Souls: Remastered by QLOCQLOC
This is a talk on checkerboard rendering Markus & Andreas held at Digital Dragons 2019.
In it they quickly go through the history of Checkerboard Rendering before taking a deep dive into how it works and how it is implemented in Dark Souls: Remastered. Lastly, they present the quality and performance improvements they got from using it and their conclusion.
PS: The PDF. file includes useful in-depth notes from both authors.
Vulkan and DirectX12 share many common concepts, but differ vastly from the APIs most game developers are used to. As a result, developing for DX12 or Vulkan requires a new approach to graphics programming and in many cases a redesign of the Game Engine. This lecture will teach the basic concepts common to Vulkan and DX12 and help developers overcome the main problems that often appear when switching to one of the new APIs. It will explain how those new concepts will help games utilize the hardware more efficiently and discuss best practices for game engine development.
For more, visit http://developer.amd.com/
Optimization in Unity: simple tips for developing with "no surprises" / Anton...DevGAMM Conference
Every developer once faces the optimization of their project, but sometimes it happens quite spontaneously and at the wrong time. Developers, especially beginners, often ignore very simple and cheap techniques, which allow to make the optimization process more calm and predictable. This work is devoted to the things you should pay attention in developing to avoid inconvenience in future.
This presentation accompanies the webinar replay located here: http://bit.ly/1zmvlkL
AMD Media SDK Software Architect Mikhail Mironov shows you how to leverage an AMD platform for multimedia processing using the new Media Software Development Kit. He discusses how to use a new set of C++ interfaces for easy access to AMD hardware blocks, and shows you how to leverage the Media SDK in the development of video conferencing, wireless display, remote desktop, video editing, transcoding, and more.
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsPrabindh Sundareson
Introduction to OpenGL ES and GPU Programming portion of the 7 part session on GFX workshops. Introduces the OpenGL ES specifications from Khronos and provides a perspective of current GPU architectures.
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Unity Technologies
In this technical talk, we will describe the science behind the UIElements rendering system, built from the ground up for retained-mode UI. It uses every CPU/GPU trick in the book to render thousands of different elements onscreen in a fraction of a millisecond, all on one thread. This powerful UI performance and optimization tool also supports complex features like clipping and vector graphics, even on low-end devices.
Speaker: Wessam Bahnassi – Unity
Watch the session on YouTube: https://youtu.be/zeCdVmfGUN0
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
This presentation discusses the Mantle API, what it is, why choose it, and abstraction level, small batch performance and platform efficiency.
Download the presentation from the AMD Developer website here: http://bit.ly/TrEUeC
Checkerboard Rendering in Dark Souls: Remastered by QLOCQLOC
This is a talk on checkerboard rendering Markus & Andreas held at Digital Dragons 2019.
In it they quickly go through the history of Checkerboard Rendering before taking a deep dive into how it works and how it is implemented in Dark Souls: Remastered. Lastly, they present the quality and performance improvements they got from using it and their conclusion.
PS: The PDF. file includes useful in-depth notes from both authors.
Vulkan and DirectX12 share many common concepts, but differ vastly from the APIs most game developers are used to. As a result, developing for DX12 or Vulkan requires a new approach to graphics programming and in many cases a redesign of the Game Engine. This lecture will teach the basic concepts common to Vulkan and DX12 and help developers overcome the main problems that often appear when switching to one of the new APIs. It will explain how those new concepts will help games utilize the hardware more efficiently and discuss best practices for game engine development.
For more, visit http://developer.amd.com/
Optimization in Unity: simple tips for developing with "no surprises" / Anton...DevGAMM Conference
Every developer once faces the optimization of their project, but sometimes it happens quite spontaneously and at the wrong time. Developers, especially beginners, often ignore very simple and cheap techniques, which allow to make the optimization process more calm and predictable. This work is devoted to the things you should pay attention in developing to avoid inconvenience in future.
Unity optimization techniques applied in Catan UniverseExozet Berlin GmbH
In this presentation we make a summary of important optimization techniques that were adopted when porting Catan Universe to mobile. Most of them can also be universally applied in other Unity projects; let us know if they helped you.
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileUnity Technologies
The introduction of mobile AR means the arrival of more accessible devices, and for developers, a broader range of consumers to target. The good news is that you're "already ready." A stable of universal techniques and best practices can help reduce draw calls and maximize performance without sacrificing fidelity across Gear VR, Oculus Go, and Project Santa Cruz. We'll start with an overview of the devices and basic considerations, and go step by step through the process of reviewing and optimizing textures, scene geometry, and lighting. Attendees interested in Project Santa Cruz will also benefit from an introduction to Unity's profiling workflow.
Gabor Szauer - Oculus
This article contains information about performance optimization of Unity3D games for android. Different solutions provided both for CPU and GPU. Also here you can find methodology which will help you to detect performance problems, analyze them and perform appropriate optimization.
A set of mobile game optimization best practices. This presentation extensively covers PowerVR series of GPUs from Imagination Technologies and iOS, however the majority of recommendations can be applied to other GPUs and mobile operating systems.
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
This talk covers changes in CryENGINE 3 technology during 2012, with DX11 related topics such as moving to deferred rendering while maintaining backward compatibility on a multiplatform engine, massive vegetation rendering, MSAA support and how to deal with its common visual artifacts, among other topics.
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
In this session, the Unity Demo team provides their best tips and tricks for optimizing detailed, complex environment scenes for modern console performance.
Speakers:
Rob Thompson (Unity Technologies)
Presentation Video : http://tinyurl.com/pfhz96m
Stage 3D introduction in Adobe Flash Player and Adobe AIR lets you use techniques such as deferred lighting, screen space dynamic shadow, MRT, and more through vertex and fragment shaders. Join Jean-Philippe Doiron, Principal Architect R&D at Frima Studio, and Jean-Philippe Auclair, R&D Architect, for a deep dive into GPU programming with the new Flash Player, and discover how to produce beautiful GPU effects that are reusable in your games and applications.
FGS 2011: Making A Game With Molehill: Zombie Tycoonmochimedia
Luc Beaulieu and Jean-Philipe Auclair from Frima Studio share their experience working with Adobe's new Molehill API's in making their new game "Zombie Tycoon".
Efficient occlusion culling in dynamic scenes is a very important topic to the game and real-time graphics community in order to accelerate rendering. We present a novel algorithm inspired by recent advances in depth culling for graphics hardware, but adapted and optimized for SIMD-capable CPUs. Our algorithm has very low memory overhead and is three times faster than previous work, while culling 98% of all triangles by a full resolution depth buffer approach. It supports interleaving occluder rasterization and occlusion queries without penalty, making it easy
Similar to [Unite Seoul 2020] Mobile Graphics Best Practices for Artists (20)
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
5. Texture Filtering - Trilinear
— Trilinear - Like Bilinear but with
added blur between mipmap
level
— Don’t use trilinear without
mipmap
— This filtering will remove
noticeable change between
mipmap by adding smooth
transition
— Trilinear filtering is still
expensive on mobile
— Use it with caution
6. Texture Filtering - Anisotropic
— Anisotropic - Make textures look
better when viewed from different
angle, which is good for ground level
textures
— Higher anisotropic level cost higher
7. Texture Filtering
— Use bilinear for balance between performance and visual quality
— Trilinear will cost more memory bandwidth than bilinear and needs to be
used selectively
— Bilinear + 2x Anisotropic most of the time will look and perform better
than Trilinear + 1x Anisotropic, so this combination can be better solution
rather than using Trilinear
— Keep the anisotropic level low
— Using a level higher than 2 should be done very selectively for critical
game assets
– This is because higher anisotropic level will cost a lot more bandwidth and affect
device battery life
8. Always Use Mipmap If Camera Is Not Still
— Using mipmapping will improve
GPU performance
— Less cache miss
— Mipmapping also reduce
texture aliasing and improve
final image quality
— Don’t use it on 2D objects
9. Texture Color Space
— Use linear color space rendering if using
dynamic lighting
— Check sRGB in texture inspector window
— Textures that are not processed as color
should NOT be used in sRGB color space
(such as metallic, roughness, normal map,
etc)
— Current hardware supports sRGB format
and hardware will do Gamma correction
automatically for free
10. Texture Compression
— ASTC may get better quality with
same memory size as ETC or same
quality with less memory size than
ETC
— ASTC may take longer to encode
compared to ETC - use it on final
packaging of the game
— ASTC allows more control in terms of
quality by allowing to set block size -
5x5 or 6x6 is good default
11. Texture Channel Packing
— Use texture channels to pack multiple
textures into one
— Commonly used to pack roughness, or
smoothness, and metallic into one
texture
— Can be applied for any texture mask
— Make good use of alpha channel
13. Avoid Rendering Small Triangles
— The bandwidth and processing cost
of a vertex is typically orders of
magnitude higher than the cost of
processing a fragment
— Make sure that you get many pixels
worth of fragment work for each
primitive
— Use dynamic mesh level-of-detail,
using simpler meshes when objects
are further away from the camera
— Make sure each model which create
at least 10-20 fragments per
primitive
14. Avoid Rendering Long Thin Triangles
— More expensive for the GPU to process when compared
with normal triangles
— GPUs process pixels in quad blocks
— Long thin triangle edges will waste more GPU power to
rasterize
— Adjacent long thin triangles will waste doubly
15. Avoid Duplicating Vertices
— Reuse as many vertices as possible
— Transformed vertex data can be cached to save
computation power
— Avoid duplicating vertices unless it’s necessary
V0
V1
V2
V3
V4
V0
V1
V2
V3
V5
V4 V7
V6
V8
T1 : (V0, V1, V2)
T2 : (V1, V3, V2)
T3 : (V2, V3, V4)
T1 : (V0, V1, V2)
T2 : (V3, V4, V5)
T3 : (V6, V7, V8)
GOOD BAD
16. Instancing
— Render many objects using the same
mesh
— Each instance can have its own
properties
— Reduce the number of draw call and
memory bandwidth
— Check the “Enable GPU Instancing”
option in material
— Then use
UNITY_ACCESS_INSTANCED_PROP() in
shader to access the instance
properties
18. Shader Floating-point Precision
— Use mediump and highp keywords
— Full FP32 of vertex attributes is unnecessary for many
uses of attribute data
— Keep the data at the minimum precision needed to
produce an acceptable final output
— Use FP32 for computing vertex positions only
— Use the lowest possible precision for other attributes
— Don’t always use FP32 for everything
— Don’t upload FP32 data into a buffer and then read it as a
mediump attribute
19. Take Advantage of Early-Z
— Many fragments are occluded by other fragments
— Running fragment shader of occluded fragment is wasting
GPU power
— Render opaque object from front to back
— Occluded fragment will be rejected before shading
— Fragment writing out depth/stencil will go Late-Z path
which rejects occluded fragment after fragment shader
— Fragment using discard or Alpha-to-coverage will be
forced to do Late-Z and may stall the pipeline
Early Frag Op
Fragment
Shader
Late Frag Op
20. Avoid Heavy Overdraw
— Overdraw means one pixel has been rendered more
than once
— Alpha blending overdraw is expensive on mobile
— Use Unity built-in display feature to check the amount
of overdraw
— Use Arm Mobile Studio to check the in-game overdraw
— Brighter area means more overdraw
— Render from front to back order to reduce the
overdraw
— Optimize arrangement of layer, sorting layer, render
queue and camera setting to avoid overdraw
21. Reduce the Amount of Alpha Blending/Tested
Fragments
— Separate transparent mesh from opaque mesh
— Use polygon mesh instead of quad for transparent texture
— Both ways can reduce the amount of transparent
fragments and improve performance
22. Dynamic Branching
— Dynamic branching in shader is not as expensive as most
developers think, but…
— Both sides of branch will be executed and pick one if the
branching area is too small
— Shader compiler will optimize it automatically
— Use dynamic branching when it can skip enough
computation
24. Reduce Render State Switch
— Render state switch is very expensive operation
— Rendering as many primitives as possible before render state(SetPass)
switch
— Don’t just check number of draw calls or batches
— Number of render state switch is also an important index
— Check Tris/SetPass (i.e. 95.2K/34)
— Batch as many draw calls as possible
– Static batching
– GPU Instancing
– Dynamic batching
25. Reduce Frame Buffer Switch
— Bind each frame buffer only once
— Making all required draw calls before
switching to the next frame buffer
— Avoid unnecessary render buffer switch
— Can reduce memory bandwidth
requirement and power consumption
(~100mW for 1GB/s)
— Use Unity frame debugger to check
— Use Arm Mobile Studio to do API level
check
26. Clear Frame Buffer Before
Rendering
— Before rendering, GPU will read frame buffer into
tile memory from external memory
— Minimizing tile loads at renderpass start
— Can cheaply initialize the tile memory to a clear
color value
— Ensure that you clear or invalidate all of your
attachments at the start of each render pass
— Use Unity frame debugger to check
— Use Arm Mobile Studio to do API level check
Doesn’t clear before rendering
Bad for performance
27. Reduce Frame Buffer Write
— After rendering, GPU will write result from tile
memory to external memory
— Minimizing tile stores at renderpass end
— Avoid writing back to external memory
whenever is possible
— Don’t bind depth/stencil buffer if depth/stencil
value is not used
— Use RenderTexture.DiscardContents() to
invalidate frame buffers if you don’t need the
data at next frame
— Use Unity frame debugger to check
— Use Arm Mobile Studio to do API level check
29. Generative
Art
—
Made
with
Unity
Arm Mobile Studio – Free Tool for Mobile Optimization
• https://developer.arm.com/mobile-studio
Arm Guide for Unity Developers
• https://developer.arm.com/solutions/graphics-and-gaming/gaming-
engine/unity/arm-guide-for-unity-developers
모바일 게임 아티스트를 위한 베스트 프랙티스 가이드
• https://blogs.unity3d.com/kr/2020/04/07/artists-best-practices-for-
mobile-game-development/
Arm DevRel
• developer@arm.com