WebGL 浏览器函数

1.requestAnimationFrame(func)

    请求浏览器在将来某时刻回调函数func以完成重绘。requestAnimationFrame()成功的一个关键是确定你在执行其他用户diamante之前就请求了下一帧,这对异常处理非常重要。如果你在动画回调函数中驱动你的整个3D应用,而代码在请求下一帧之前产生了一个异常,你的整个应用就会挂掉。如果你在做其他事情之前请求下一帧,那么至少还可以保证程序的持续运行。参数:

    func:指定将来某时刻调用的函数。函数将来会接收到一个time参数,用来标明此次调用的时间戳。如下例子:

var tick = function(){
    ...
    requestAnimationFrame(tick);
}

    由于requestAnimation最早是由浏览器提出来的函数,后来被定位HTML 5标准。所有存在浏览器兼容问题。解决兼容问题代码:

if(!window.requestAnimationFrame){
        window.requestAnimationFrame = (function(){
            return window.webkitRequestAnimationFrame ||
                            window.mozRequestAnimationFrame ||
                            window.oRequestAnimationFrame ||
                            window.msRequestAnimationFrame ||
                            function (callback){
                                window.setTimeout(callback, 1000 / 60);
                            }
        })();
    }

2.cancelAnimationFrame(requestID)

    取消由requestAnimationFrame()发起的请求。参数:

    requestID:指定requestAnimationFrame()的返回值

posted @ 2017-04-09 23:08  heavi  阅读(709)  评论(0编辑  收藏  举报