美文网首页
threejs-day4(小技巧/优化)

threejs-day4(小技巧/优化)

作者: 小杰66 | 来源:发表于2021-05-01 21:34 被阅读0次

按需渲染

不每一帧都渲染,按需渲染。例如只在camera 改变的时候或者纹理模型变化的时候再次渲染等等。
按需渲染不像是连续渲染那么常见,但是有些场合, 例如地图浏览器, 3D编辑器, 3D图产生器等等的, 可能还是按需渲染比较好.

let renderRequested = false;

function render() {
  renderRequested = false;
  if (resizeRendererToDisplaySize(renderer)) {
    const canvas = renderer.domElement;
    camera.aspect = canvas.clientWidth / canvas.clientHeight;
    camera.updateProjectionMatrix();
  }
  renderer.render(scene, camera);
}
render();
 
function requestRenderIfNotRequested() {
  if (!renderRequested) {
    renderRequested = true;
    requestAnimationFrame(render);
  }
}
 
controls.addEventListener('change', requestRenderIfNotRequested);

截屏

canvas.toDataURL
canvas.toBlob better
但是调用后会得到黑色图片,因为浏览器默认在绘制完成后清空webgl canvas的绘制缓冲。所以在获取canvas数据前需要调用render。

防止canvas被清空

WebGLRender添加preserveDrawingBuffer为true
renderer的autoClearColor 设为false

const renderer = new THREE.WebGLRenderer({
  canvas,
  preserveDrawingBuffer: true, 
  alpha: true,
});
renderer.autoClearColor = false;

键盘输入获取

<canvas tabindex="0"></canvas>

canvas:focus {
  outline:none;
}

canvas透明

const renderer = new THREE.WebGLRenderer({
  canvas,
  alpha: true,
  premultipliedAlpha: false,
});

threejs作为html背景

Set the canvas CSS position to fixed as in
set z-index to -1
Use an iframe

大量对象的优化

合并几何体

优化对象的同时保持动画效果

使用Morphtargets

相关文章

  • threejs-day4(小技巧/优化)

    按需渲染 不每一帧都渲染,按需渲染。例如只在camera 改变的时候或者纹理模型变化的时候再次渲染等等。按需渲染不...

  • Python-02进阶-07代码优化技巧

    代码优化技巧 优化原则 核心技巧 其他技巧 Python 代码性能优化技巧 常用代码优化技巧 sort()优于so...

  • Unity优化技巧集合

    知乎作者:Mack Unity优化技巧(上)Unity优化技巧(中)Unity优化技巧(下)

  • UITableView 的优化技巧

    UITableView 的优化技巧 UITableView 的优化技巧

  • 优化小技巧

    惰性载入函数 在某个场景下我们的函数中有判断语句,这个判断依据在整个项目运行期间一般不会变化,所以判断分支在整个项...

  • Mysql优化小技巧

    问题 假设现在有一个千万条记录的表,要针对不同的需求,进行相应的查询,修改,删除操作。要求单条sql执行时间不能超...

  • sql优化小技巧

    11.大数据量时,怎样让全局count/sum distinct更快? 以下两个SQL,有人可能认为例句1快于例句...

  • PHP优化小技巧

    讲 PHP 优化的文章往往都是教大家如何编写高效的代码,本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,...

  • vue优化小技巧

    记录一下我自己优化vue项目的一些小方法 图片优化 一般切完图后我会把图片压缩一次,这样可以减小图片的体积,压缩工...

  • 站内优化小技巧

    优化一个网站的搜索引擎优化是用搜索引擎优化优化所有网站的必要步骤。先优化站点本身,再在站点外优化。seo站点中的优...

网友评论

      本文标题:threejs-day4(小技巧/优化)

      本文链接:https://www.haomeiwen.com/subject/axygrltx.html