Three.js 性能优化

1 篇文章 0 订阅

three.js是Javascript编写的WebGL第三方库。

  1. 能用BufferGeometry代替Geometry的尽量用BufferGeometry. BufferGeometry会缓存网格模型,性能更高效

网格模型生成原理:
Geometry生成的模型过程:

(代码) ->  (CPU进行数据处理,转化成虚拟的3D数据) 
-> (GPU进行数据组装,转化为像素点,准备渲染) -> (显示器 )

第二次操作时重复走一遍此流程

BufferGeometry生成模型流程

(代码) ->  (CPU进行数据处理,转化成虚拟的3D数据) 
-> (GPU进行数据组装,转化为像素点,准备渲染) -> (丢入缓存区) -> (显示器 ) 

第二次操作时,
(代码) ->  (CPU进行数据处理,转化成虚拟的3D数据) 
-> (修改缓存区数据) -> (显示器 ) 
节约了GPU性能的运算过程
  1. 学会使用clone() 方法
var box = new THREE.BoxGeometry(10,10,10)  // 创建一个立方体几何对象
var box2 = box.clone();  // 克隆几何体
box2.scale.set(2,2,2); //通过缩放调整大小

clone()返回一个新的几何体对象,返回新的几何体对象包含原来的几何体顶点数据、顶点索引数据,UV坐标数据。就不用重新创建相同的对象,浪费使劲按

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值