【免费下载链接】claudedesignskills
A comprehensive collection of Claude Code skills for modern web development, specializing in 3D graphics, animation, and interactive web experiences.
claudedesignskills 是一个面向现代 Web 开发的 Claude Code 技能集合(Skills),专注 3D 图形、动画与交互式网页体验。本文从渲染、资产、滚动三大维度,整理出这套技能库内置的 Web3D 性能优化清单,帮助你快速定位瓶颈、平滑帧率,打造 60 FPS 的流畅体验。
📌 优化黄金法则:先测量,后优化。所有建议都遵循"先 Profile 定位瓶颈 → 再优化高影响项 → 最后验证收益"的循环。
为什么 Web3D 性能优化如此重要?
Web3D 页面同时承载 GPU 渲染、纹理内存、滚动交互、动画逻辑,任何一环拖慢都会直接表现为掉帧、发热、白屏。常见瓶颈有 7 类:
| 瓶颈类型 | 典型症状 | 优先排查项 |
|---|---|---|
| Draw Call 过多 | 帧率低、CPU/GPU 高负载 | 合并几何体、实例化 |
| 三角面过多 | 复杂场景卡顿 | 降面数、LOD |
| 纹理过大 | 内存暴涨、移动端崩溃 | 压缩、降分辨率 |
| 灯光过多 | 阴影/光照开销大 | 限制光源、烘焙 |
| 复杂着色器 | GPU 满载 | 简化材质 |
| 内存泄漏 | 长时间运行越来越卡 | 及时 dispose() |
| 昂贵后处理 | 特效越开越卡 | 降低分辨率渲染 |
这套技能库将上述经验沉淀为可直接落地的检查清单,覆盖 Three.js、React Three Fiber、PlayCanvas、PixiJS、Lottie、GSAP 等主流技术栈。
优化前先建立测量基线
在动手之前,先建立可量化的性能基线,避免"凭感觉优化"。
3D 场景:用 Profiler 看真实数据
Three.js 内置的 renderer.info 能直接给出关键指标,是定位瓶颈的第一入口:
console.log('Geometries:', renderer.info.memory.geometries);
console.log('Textures:', renderer.info.memory.textures);
console.log('Draw Calls:', renderer.info.render.calls);
console.log('Triangles:', renderer.info.render.triangles);
| 指标 | 桌面端目标 | 移动端目标 |
|---|---|---|
| FPS | 60(16.67ms/帧) | 30–60 |
| Draw Calls | < 100 | < 50 |
| 可见三角面 | < 100 万 | < 10 万 |
| 纹理内存 | < 500 MB | < 200 MB |
| Pixel Ratio | 1–2 | 1 |
💡 完整清单见 optimization_checklist.md,其中按"快速收益 / 中等成本 / 进阶"三级分层,方便按预算逐步推进。
网页整体:盯住 Core Web Vitals
Web 页面性能用 Core Web Vitals 衡量,目标是让用户"看得快、点得顺、不跳动":
- LCP(最大内容渲染)< 2.5s
- INP(交互到下一帧)< 200ms
- CLS(累积布局偏移)< 0.1
渲染层优化:让 GPU 少干活
合并几何体 + 实例化(降低 Draw Call)
每个 Mesh 通常对应一次 Draw Call,是帧率的第一杀手。两个核心手段:
- 静态合并:把不移动的多个几何体合并成一个。
- 实例化(Instancing):大量重复物体(如 1000 个立方体)用
InstancedMesh一次绘制,性能可提升数倍。
按需渲染 + 视锥剔除
- 按需渲染(render-on-demand):静态场景不必每帧渲染,只在变化时调用
render()。 - 视锥剔除(Frustum Culling):屏幕外的对象不渲染,默认开启,复杂场景务必确认。
阴影与像素比
- 投射阴影的光源控制在 2–3 个,阴影贴图分辨率降到 1024(移动端更低)。
- 像素比封顶:
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)),避免高分屏过度渲染。
React Three Fiber 的自适应性能
在 React 生态下,R3F 提供了更高级的自适应能力:AdaptiveDpr(性能下降时自动降 DPR)、PerformanceMonitor(监听性能变化)、frameloop="demand"(按需渲染)。详见 SKILL.md。
<Canvas frameloop="demand" dpr={[1, 2]}>
<AdaptiveDpr pixelated />
<PerformanceMonitor onDecline={() => console.log('degraded')}>
<Scene />
</PerformanceMonitor>
</Canvas>
资产层优化:从模型到纹理瘦身
资产(模型、纹理、贴图)往往占内存和加载时间的大头,是"性价比最高"的优化区。
模型瘦身
| 手段 | 说明 | 预期收益 |
|---|---|---|
| 减面(Decimate) | Blender 修改器自动降面 | 面数减半 |
| 法线贴图烘焙 | 高模细节烘焙到低模 | 视觉不降、面数大降 |
| Draco 压缩 | glTF 压缩编码 | 体积降 60–90% |
| 格式选择 | 优先 .glb | 比 .fbx/.obj 更适合 Web |
尺寸参考:小道具 < 100 KB,角色模型 500 KB–1 MB,场景资产 1–5 MB。 详见 optimization_strategies.md。
纹理优化
- 分辨率:UI 512、道具 1024、角色 2048,移动端统一降到 512–1024。
- 格式:照片用 JPEG(有损更小)、透明用 PNG、Web 端推荐 KTX2 / Basis Universal 压缩。
- 尺寸:始终用 2 的幂(256 / 512 / 1024 / 2048),并开启 mipmap。
- 贴图合并(Atlas):多张小图合成一张,减少纹理绑定与 Draw Call。
内存与清理
场景切换或对象移除时,务必 dispose() 释放几何体、材质、纹理,防止内存泄漏:
function disposeObject(obj) {
if (obj.geometry) obj.geometry.dispose();
if (obj.material) obj.material.dispose();
}
scene.traverse(disposeObject);
滚动层优化:让页面顺滑不卡顿
滚动交互(视差、横向滚动、3D 相机联动)是性能最容易被忽视的"隐形杀手"。
CSS 动画:只动 GPU 友好的属性
| ✅ 推荐(GPU 加速) | ❌ 避免(触发重排重绘) |
|---|---|
transform(位移/缩放/旋转) | top / left / right / bottom |
opacity | width / height |
filter(慎用 blur) | margin / padding / border-width |
配合 will-change(仅动画期间开启,结束后重置为 auto)和 requestAnimationFrame,可稳定 60 FPS。
GSAP ScrollTrigger:批处理与节流
大量元素同时入场时,用 ScrollTrigger.batch 批量处理比逐个绑定更高效,并加 once: true 只触发一次:
ScrollTrigger.batch(".batch-item", {
onEnter: batch => gsap.from(batch, { opacity: 0, y: 60, stagger: 0.15, duration: 0.8 }),
start: "top 90%",
once: true
});
常见模式见 common_patterns.md。
Locomotive Scroll:分区 + 移动端降级
- 用
data-scroll-section包裹内容区块,分区加载能显著提升性能(无需检测全部元素)。 - 通过
smartphone: { smooth: false }在手机上关闭平滑滚动,避免低端机掉帧。
详见 api_reference.md。
2D 与动画库专项优化
PixiJS:粒子与批次
| 优化点 | 做法 | 收益 |
|---|---|---|
| 大量精灵 | 用 ParticleContainer | 静态属性最高提速 10 倍 |
| 纹理切换 | 同纹理精灵分组、用图集 | 减少 Draw Call |
| 屏幕外对象 | 开启 culling | 最高省 50% GPU |
| 静态矢量 | cacheAsBitmap 转位图 | 省去每帧重绘 |
| 动态文字 | 用 BitmapText | 比普通 Text 快 10–50 倍 |
完整指南见 performance_guide.md。
Lottie:文件瘦身 + Worker 渲染
- 用 dotLottie 格式(ZIP 压缩,体积可降约 90%)。
- 复杂动画选 Canvas 渲染器,并配合
DotLottieWorker放到 Web Worker,避免阻塞主线程、保证滚动顺滑。 - 懒加载:用
IntersectionObserver在动画进入视口时才加载;离屏时pause()。
性能目标:文件 < 100 KB、加载 < 500ms、单实例内存 < 50 MB。详见 performance_guide.md。
移动端专属优化清单 📱
移动端算力、内存、电量都受限,建议"主动降级":
- 像素比设为 1,关闭抗锯齿
- 用更简单的材质(如
MeshLambertMaterial) - 纹理降到 512–1024px,关闭或降低阴影
- 几何体复杂度减半,粒子数 < 1000
- 关闭后处理,或只保留最轻量特效
- 激进使用 LOD,标签页隐藏时暂停渲染
- 低电量(< 20%)时降低帧率至 30 FPS
多库集成:跨层性能协调
当 Three.js + GSAP + React 多库共存时,最大的坑是多个渲染循环、多个动画库争抢同一属性。两条关键原则:
- 统一渲染循环:只在真正需要时渲染(
needsRender标志),监听滚动update事件触发重绘。 - 每个属性只归一个库:例如 GSAP 管
position,React Spring 管scale,避免冲突。 - 卸载时清理:
useEffect返回函数中tween.kill(),防止动画泄漏。
架构与状态管理策略见 SKILL.md。
优化工作流:四步循环
- Profile 先测量:用
renderer.info/ DevTools 定位真实瓶颈。 - 只优化高影响项:优先攻 Draw Call、纹理、阴影。
- 测量收益:确认优化后指标确实改善。
- 迭代:重复直到达标(桌面 60 FPS / 移动 30–60 FPS)。
⚠️ 过早优化是万恶之源——永远先测量,再动手。
上手 claudedesignskills:一键获取这些技能
这些优化经验都以**技能(Skills)**形式内置在 claudedesignskills 中,可在 Claude Code 里直接安装。
# 添加技能市场
/plugin marketplace add freshtechbro/claudedesignskills
# 按需安装核心 3D 与动画技能
/plugin install threejs-webgl
/plugin install gsap-scrolltrigger
/plugin install react-three-fiber
# 或安装完整分类包(5 个技能 + 命令 + 智能体)
/plugin install core-3d-animation
/plugin install extended-3d-scroll
💡 技能按"渐进式加载"工作——只有检测到相关任务(如"创建 Three.js 场景""添加 GSAP 滚动动画")时才会自动激活,不占用上下文。
常见资源索引
| 关注方向 | 核心文件 | 路径 |
|---|---|---|
| Three.js 性能清单 | 渲染/资产/阴影/移动端全清单 | optimization_checklist.md |
| 整体 Web 性能 | Core Web Vitals + 60FPS 动画 | performance_checklist.md |
| 2D 渲染 | PixiJS 粒子/纹理/滤镜 | performance_guide.md |
| 动画文件 | Lottie 瘦身 + Worker | performance_guide.md |
| 3D 资产 | 减面/法线/Draco 压缩 | optimization_strategies.md |
| 3D 引擎 | PlayCanvas 全流程优化 | optimization_guide.md |
| 滚动动画 | GSAP 批处理模式 | common_patterns.md |
| 多库集成 | 渲染循环/状态协调 | SKILL.md |
总结
Web3D 性能优化不是"一招鲜",而是一条测量 → 定位 → 优化 → 验证的闭环。抓住三条主线:
- 渲染层:合并几何、实例化、按需渲染、限制阴影与像素比。
- 资产层:减面 + Draco 压缩、纹理压缩降分辨率、及时
dispose()。 - 滚动层:只动
transform/opacity、GSAP 批处理、离屏暂停。
claudedesignskills 把上述经验打包成可直接安装的技能,让你从"凭感觉调参"升级为"按清单达标"。装好技能后,让 Claude 在你写 3D 代码时自动套用这些最佳实践,是拿到 60 FPS 的最短路径。🚀
【免费下载链接】claudedesignskills
A comprehensive collection of Claude Code skills for modern web development, specializing in 3D graphics, animation, and interactive web experiences.
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



