---
title: 运行时性能
summary: "运行时性能优化总览，介绍小程序双线程架构原理及常见运行时性能问题的优化方向。"
docType: default
tags: [运行时性能总览, 双线程架构原理, 逻辑层与视图层通信]
questions:
  - 运行时性能优化关注的是哪些方面？
  - 小程序常见的运行时性能问题有哪些？
  - 小程序的双线程架构是什么，它与性能有什么关系？
  - setData 在小程序双线程架构中起什么作用？
  - 运行时性能优化有哪些具体的优化方向？
---

# 运行时性能

运行时性能关注的是用户在使用小程序过程中的流畅度。良好的运行时性能意味着页面滑动流畅、操作响应及时、动画自然顺滑。

## 常见性能问题

| 表现 | 可能原因 | 优化方向 |
| ---- | -------- | -------- |
| 页面滑动卡顿 | 频繁更新状态、节点过多 | [合理使用 setData](/cn/miniapp/develop/ray/guide/optimization/runtime/setdata)、[渲染性能优化](/cn/miniapp/develop/ray/guide/optimization/runtime/render) |
| 操作响应延迟 | 逻辑层阻塞、大量同步计算 | [合理使用 setData](/cn/miniapp/develop/ray/guide/optimization/runtime/setdata) |
| 页面渲染慢或抖动 | 节点结构复杂、列表未优化、动画方案不当 | [渲染性能优化](/cn/miniapp/develop/ray/guide/optimization/runtime/render) |
| 图片加载慢或布局跳动 | 图片未懒加载、尺寸模式不当 | [资源加载优化](/cn/miniapp/develop/ray/guide/optimization/runtime/resource) |
| 小程序被系统回收 | 内存占用过高 | [内存优化](/cn/miniapp/develop/ray/guide/optimization/runtime/memory) |

## 小程序架构与性能的关系

涂鸦小程序采用**双线程架构**：

- **逻辑层**：运行开发者的 JavaScript 代码，处理数据和业务逻辑
- **视图层**：负责页面渲染和用户交互

两个线程之间通过消息通信传递数据。`setData` 是逻辑层向视图层发送数据的主要方式，因此 `setData` 的使用方式直接影响小程序的运行时性能。

理解这一架构，是进行运行时性能优化的基础。

## 优化指南

- [合理使用 setData](/cn/miniapp/develop/ray/guide/optimization/runtime/setdata) - 最关键的优化点
- [渲染性能优化](/cn/miniapp/develop/ray/guide/optimization/runtime/render) - 减少渲染开销
- [资源加载优化](/cn/miniapp/develop/ray/guide/optimization/runtime/resource) - 图片等资源的加载优化
- [内存优化](/cn/miniapp/develop/ray/guide/optimization/runtime/memory) - 避免内存问题

## 相关文档

- [FPS 性能检测](/cn/miniapp/develop/ray/guide/optimization/analysis-tools/fps) - 检查运行过程中的帧率表现
