美文网首页
Rendering loop 渲染循环

Rendering loop 渲染循环

作者: tata_a79c | 来源:发表于2018-08-10 14:48 被阅读0次

在大多数现代浏览器中,渲染循环使用requestAnimationFrame (RAF)方法。如果RAF不可用,它将用一个16毫秒的定时器进行微调。

在cornerstone中渲染循环功能基于元素启用的。在cornerstone中用enable(element)或disable(element)来启用和禁用元素。

执行情况如下:

  • 在RAF注册draw()回调;
  • 在屏幕上显示帧之后,浏览器调用draw();
  • Once called,
    • 如果元素计划重新呈现,则它将被呈现并重新向RAF注册draw();
    • 如果元素计划重新呈现,则不执行任何工作,回调将重新注册到RAF;
    • 如果元素已经被禁用,回调返回是not重新注册结束渲染循环。

这意味着:

  • cornerstone.draw()和cornerstone.invalidate()不再触发立即渲染视图,而是将图像标记为需要重新呈现;
  • 每个cornerstone 元素注册自己的RAF循环;
  • 如果在一个60赫兹的系统中渲染时间超过16毫秒,则跳过渲染帧;
  • 即使渲染时间远低于16ms,每个帧只能有一个渲染;
  • 所有的交互(平移、缩放等)都被合并并呈现在下一帧中。

相关文章

  • Rendering loop 渲染循环

    在大多数现代浏览器中,渲染循环使用requestAnimationFrame (RAF)方法。如果RAF不可用,它...

  • 离屏渲染

    On-Screen Rendering Off-Screen Rendering 界面的渲染过程 渲染过程: 如何...

  • test

    Enzyme Shallow Rendering - 不会渲染子组件DOM Rendering - 渲染子组件 U...

  • 离屏渲染

    On-Screen Rendering 在屏渲染 Off——Screen Rendering 离屏渲染 当我们设置...

  • 渲染 Rendering

    在进行iOS的性能优化中,会碰到卡顿的问题,虽然iOS设备的性能越来越高,但是卡顿的问题还是有可能会出现,而离屏渲...

  • SceneKit之渲染循环Render Loop

    在使用SceneKit构建应用程序或游戏时,我们需要用 SCNView 来显示想要的场景,在渲染你的场景时,SCN...

  • 3-Render-Loop渲染循环

    文章选自掘金苹果API搬运工的文章[SceneKit专题]3-Render-Loop渲染循环主要记录自己在学习AR...

  • Python基础语法了解一下(三)

    条件循环语句 Conditional Loop Statement 迭代循环语句 Iterative Loop ...

  • iOS--离屏渲染

    离屏渲染(Offscreen rendering) 离屏渲染的定义 离屏渲染(offscreen-renderin...

  • Java - Loop Control 循环控制

    Java - Loop Control 循环 循环控制体 1、while loop Example: output...

网友评论

      本文标题:Rendering loop 渲染循环

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