Who is this for?
This is an introductory topic for developers who are building GPU-based Android applications and are interested in experimenting with WebGPU.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Describe the benefits of WebGPU.
- Describe the benefits of using Dawn.
- Set up a WebGPU development environment.
- Integrate Dawn in an Android Application.
- Use Dawn WebGPU APIs in the application.
- Describe the changes required to upgrade to WebGPU to render a simple 3D object.
- Build and run a WebGPU Android Application.
- Profile the application using Streamline.
- Analyze the profiling data.
Prerequisites
Before starting, you will need the following:
- Basic knowledge of graphics APIs and experience in developing Android graphics applications.
- A development machine with Android Studio, Blender, and Arm Streamline installed.
- An Android phone in developer mode.
- Android Studio.
- Arm Performance Studio.
- Python 3.10 or later.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll add Dawn WebGPU to a C++ Game Activity project and replace the starter code with a minimal renderer. First, you’ll create a device and command queue, submit GPU work, and render a 3D object. Then, you’ll build and run the app on an Android phone, and capture its performance with Streamline to verify on-device rendering.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use the Game Activity (C++) template when creating the new project. This template sets up the native C++ scaffolding used by the WebGPU renderer.
Install Android 14.0 (“UpsideDownCake”) from the SDK Platforms tab.
Delete all files from the top
cpp directory except CMakeLists.txt. Add webgpuRenderer.cpp, webgpuRenderer.h, and the provided main.cpp for the WebGPU application.Retrieve the device’s single queue with
wgpuDeviceGetQueue(), then submit work using methods such as wgpuQueueSubmit.Start a Streamline capture after the app builds and renders the simple 3D object on your Android device. When you see the object render without runtime errors, you’re ready to profile and analyze the data.