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()的返回值

WebGL 浏览器函数的更多相关文章

  1. JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

    工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outil ...

  2. [WebGL入门]十四,绘制多边形

    注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外,鄙人webgl研究还不够深入.一些专业词语,假设翻译有误,欢迎大家 ...

  3. WebGL自学教程——WebGL演示样本:开始

    最终开始WebGL样品演示,...... 开始 使用WebGL步骤,非常easy: 1. 获得WebGL的渲染环境(也叫渲染上下文). 2. 发挥你的想象力,利用<WebGL參考手冊>中的 ...

  4. WebGL 着色器语言(GLSL ES)

    1.类型转换内置函数 转换/函数/描述 转换为整形数/int(float)/将浮点数的小数部分删去,转换为整形数(比如,将3.14转换为3) 转换为整形数/intl(bool)/true被转换为1,f ...

  5. selenium+python自动化92-多线程启动多个不同浏览器

    前言 如果想用多个浏览器跑同一套测试代码,driver=webdriver.Firefox()这里的driver就不能写死了,可以把浏览器名称参数化. 后续如果想实现多线程同时启动浏览器执行用例,用前 ...

  6. 常用 JS 函数

    各种业务开发都离不开对数据的处理,然而遇到的很多数据都是不好处理的.这个时候就需要寻求搜索引擎的帮助.这种方法效率是非常低下的,而且根据作者的个性不能保证其对自己的口味.因此这篇文字包含了一份 JS ...

  7. 初级入门 --- web GL绘制点

    " 万丈高楼平地起." 01基础知识 一.相关术语 图元 :WebGL 能够绘制的基本图形元素,包含三种:点.线段.三角形. 片元:可以理解为像素,像素着色阶段是在片元着色器中. ...

  8. GL_ARRAY_BUFFER 和 GL_ELEMENT_ARRAY_BUFFER

    转载请注明出处.系列教程: webgl-lesson.wysaid.org 第七话, 了解OpenGL的几种Array Buffer,实现大量顶点的批量绘制, 以及映射纹理坐标 每一话都间隔很久,其实 ...

  9. JS中的各种检测

    //null 只在肯定返回null值时才使用null比较 var element = document.getElementById("my-div"); if (element ...

随机推荐

  1. WPF打包工具

    找到一款相当不错的WPF项目的打包工具:advanced installer 工具简单易用,有破/解版,还可以把项目依赖库一起打到一个包中. 用法参考: https://www.cnblogs.com ...

  2. Oracle 11gR2 ORA-12638 身份证明检索失败解决方法

    1. 找到Oracle安装目录或者菜单栏,打开Oracle Net manager 2. 选择本地 ->概要文件 ->下拉选择Oracle高级安全性 -> 取消NTS 3. 菜单栏  ...

  3. sqlserver查看和解除表死锁

    1,查看那个表死锁 select object_name(resource_associated_entity_id) as tableName, request_session_id as pid ...

  4. linux软件管理(六)

    [教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软 ...

  5. VB6学习笔记

    1.数据库读取 [工程]菜单的[引用]菜单项,打开引用对话框,选中[Microsoft ActiveX Data Objects 6.1 Library] [工程]菜单的[引用]菜单项,打开引用对话框 ...

  6. win8.1系统如何激活

    若是系统是win8.1或者win8系统,可能由于产品过期或者采用的系统不是正版的话,会出现windows 未激活的状态,想要激活需下载一个win8/win8.1系统 激活工具. http://www. ...

  7. 【转】25个非常实用的jQuery/CSS3应用组件

    今天分享25款功能十分强大的jQuery/CSS3应用插件,欢迎收藏. 1.jQuery水晶样式下拉导航 这是一款非常不错的jQuery多功能下拉菜单插件,菜单外观呈水晶样式,晶莹剔透,功能丰富,包含 ...

  8. 【HTML】div居中显示

    方法1: .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width ...

  9. VIM下的普通模式的相关知识

    什么为一次操作? 从进行插入模式开始,直到返回普通模式为止,在此期间的任何修改都视为一次操作:   使用 u 可以撤销最新的修改: 所以呢,控制好在插入模式的操作就可以控制好撤销命令的粒度: 另外,最 ...

  10. Ubuntu Server对OpenStack的支持

    关于Ubuntu上OpenStack版本选择的问题, 就看这里. 从12.04 LTS起, Ubuntu云存档允许用户在下一个LTS版的Ubuntu发布前安装更新的OpenStack. 就拿Ubunt ...