内容概述
随着 3D 场景复杂度的增加,性能优化变得至关重要。Three.js 项目可能因几何体数量、纹理大小或渲染设置而变慢。本专题将介绍减少 draw call、优化纹理和使用调试工具的最佳实践。
学习目标
- 学会减少 draw call 和几何体复杂度。
- 掌握纹理压缩与内存管理。
- 使用
Stats.js
和 Three.js Inspector 调试性能。
完整代码实现
我们将创建一个包含多个立方体的场景,应用优化技巧,并添加 Stats.js
监控帧率。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Three.js - 性能优化与最佳实践</title>
<style>
body {
margin: 0; overflow: hidden; }
canvas {
display: block; }
</style>
</head>
<body>
<!-- 引入 Three.js 和 Stats.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stats.js/17/Stats.min.js"></script>
<script>
// 1. 初始化场景、相机和渲染器
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(0, 5, 10);
camera.lookAt(0, 0, 0);