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

AI-assisted

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.

Close
?
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

AI-assisted

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.

Close
?
Which Android Studio template should I choose to start the project?
Use the Game Activity (C++) template when creating the new project. This template sets up the native C++ scaffolding used by the WebGPU renderer.
Which Android SDK Platform should I install before building?
Install Android 14.0 (“UpsideDownCake”) from the SDK Platforms tab.
After integrating Dawn, which default C++ files should I remove and which new files should be present?
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.
How do I get the WebGPU command queue in code?
Retrieve the device’s single queue with wgpuDeviceGetQueue(), then submit work using methods such as wgpuQueueSubmit.
When should I start profiling with Streamline, and what indicates I’m ready?
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.
Next