Brifing

8x Performance Gain: Migrating RPG Engine from Jetpack Compose to Google Filament

Developer shares optimization journey by adopting hybrid rendering architecture.

Developing Android Apps1 min

1Hitting Jetpack Compose Limits

The developer initially built the RPG engine with Jetpack Compose Canvas. However, as world maps and visual effects grew, performance bottlenecks emerged. Heavy CPU-side optimizations (map chunking, visibility culling) couldn't maintain the 16ms frame budget.

2Birth of Hybrid Architecture

Seeking a solution without breaking the live game, the developer adopted a phased approach. They rendered the game world in 3D via Google Filament while keeping UI and character animations in Compose Canvas. This hybrid strategy minimized risks during transition.

3Technical Advantages of Filament

Migration to Filament enabled batched GPU rendering. The old system's 16-chunk map division and CPU culling logic were completely removed. The entire map now renders in a single pass without frame drops.

4Revolution in Visual Effects

Filament's .filamat material/shader system unlocked rich particle effects and dynamic lighting impossible on 2D Canvas. By writing GPU-executed shaders, the developer significantly enhanced visual quality.

5Main Thread Relief

Offloading world rendering from Canvas layer greatly reduced CPU/main thread load. This allowed smooth operation of 28 ECS systems, UI updates, and character animation calculations.

6Best of Both Worlds

The hybrid architecture combines 3D GPU engine performance with Jetpack Compose's rapid UI development advantages. The developer emphasizes this transition permanently solved scalability issues and paved the way for new features.

Original article: Developing Android Apps — RPG motorunda Jetpack Compose'dan Google Filament'e geçişle 8x performans artışı