---
title: Runtime Performance
docType: default
---

# Runtime Performance

Runtime performance focuses on smoothness during miniapp use. Good runtime performance means fluid page scrolling, responsive interactions, and natural animations.

## Common Performance Issues

| Symptom | Possible Cause | Optimization Direction |
| ------- | -------------- | ---------------------- |
| Laggy page scrolling | Frequent state updates, too many nodes | [Using setData Wisely](/en/miniapp/develop/ray/guide/optimization/runtime/setdata), [Render Performance Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/render) |
| Delayed interaction response | Logic layer blocked, heavy synchronous computation | [Using setData Wisely](/en/miniapp/develop/ray/guide/optimization/runtime/setdata) |
| Slow page render or jitter | Complex node structure, unoptimized lists, poor animation approach | [Render Performance Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/render) |
| Slow image loading or layout shift | Images not lazy-loaded, incorrect size mode | [Resource Loading Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/resource) |
| Miniapp reclaimed by system | Memory usage too high | [Memory Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/memory) |

## Miniapp Architecture and Performance

Tuya miniapps use a **dual-thread architecture**:

- **Logic layer**: Runs developer JavaScript code, handles data and business logic
- **View layer**: Responsible for page rendering and user interaction

The two threads communicate by passing data through messages. `setData` is the primary way the logic layer sends data to the view layer, so how `setData` is used directly impacts runtime performance.

Understanding this architecture is the foundation of runtime performance optimization.

## Optimization Guides

- [Using setData Wisely](/en/miniapp/develop/ray/guide/optimization/runtime/setdata) - The most critical optimization point
- [Render Performance Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/render) - Reduce rendering overhead
- [Resource Loading Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/resource) - Image and asset loading optimization
- [Memory Optimization](/en/miniapp/develop/ray/guide/optimization/runtime/memory) - Avoid memory issues

## Related Documents

- [FPS Performance Analysis](/en/miniapp/develop/ray/guide/optimization/analysis-tools/fps) - Check frame rate during runtime
