问题标签 [requestanimationframe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - requestAnimationFrame 并知道浏览器何时重新绘制?
有没有办法知道浏览器何时正在运行requestAnimationFrame
?
例如,当我从正在运行的选项卡切换选项卡时requestAnimationFrame
,该功能停止执行,当我切换回来时它继续执行,处理此问题的最佳方法是什么?
javascript - requestAnimationFrame 垃圾回收
我正在使用 Chrome Dev Tools v27 中的时间轴分析以下代码的内存使用情况。
注意它很简单。但最终我看到一个牙齿图案出现,表明垃圾收集器正在回收内存。
raf 默认会创建垃圾对象吗?有没有办法避免这种情况?谢谢。
javascript - window.requestAnimationFrame 使用对象和 this 关键字
我正在学习使用 javascript 的物理引擎的基础知识,并希望将所有引擎和游戏数据保存在一个对象中,但是在递归调用绘图函数为场景设置动画时无法使用“this”关键字。我可以成功调用单独的绘图函数,但实现多个对象动画并不容易
这是一个带有工作测试平台的简单代码笔。
这是页面
谢谢你的帮助,
安德鲁
html - 对象中的 requestAnimationFrame 类型错误
嗨,我正在尝试为我的游戏使用 requestAnimationFrame,实际上我在下面使用了这段代码,但正如您所见,“.bind()”为每个循环创建了一个新函数,这会减慢我的游戏速度......我正在寻找一个“高效”解决方案以获得最佳性能,提前谢谢您:D
上面的代码可以工作,但速度很慢。相反,这个“标准”代码给了我“类型错误”:
我还发现我尝试了这个问答:requestAnimationFrame attach to App object not Window只工作一次然后给出相同的“类型错误”:(
如果您不相信我,请尝试: http: //jsfiddle.net/ygree/1 :'(
javascript - 使用 requestAnimationFrame 动画游戏
我尝试使用 requestAnimFrame 制作一些简单的游戏,但动画不起作用,我不知道为什么。也许有人可以帮忙?这是代码:
在update(dt)
功能球不移动,我不知道为什么......
setinterval - 如何用 requestAnimationFrame 替换 setInterval
这是我的情况,我需要加快函数运行时间,所以 setInterval 不是一个明智的选择,对吧?因为每次至少要花费 4ms。
那么,我可以将 setInterval 函数更改为 requestAnimationFrame,但我不太明白 requestAnimationFrame 是如何工作的。
例如
以及如何应用 requestAnimationFrame?
gwt - gwt canvas context.drawImage 很慢
我正在使用 GWT 画布全屏绘制 50 个相同的 16x16 图像(在 draw() 中)requestAnimationFrame
,主循环如下:
我使用ClientBundle
as存储图像DataResources
。它们被转换为图像并转换为ImageElement
能够调用 context.draw 的图像。
渲染 50 张图像之前的 FPS 约为 60FPS。当它们被渲染时,FPS 大约是 20FPS。(在 chrome 和 mozilla 中)在 DEV 模式下。
我认为图像加载可能有问题。
javascript - 在谷歌地图 api v3 中使用请求动画帧为地图标记设置动画
我已经设法使用 setTimeout 在 google maps api v3 中的路线周围为 google map 标记设置动画,但我想找到一种使用请求动画帧的方法。但是,当我尝试这样做时 - 标记似乎只是从路径的开头跳到了结尾,没有动画。有什么想法我会误入歧途吗?这是我使用 setTimeout 的代码的相关部分,但您也可以在github中下载/查看文件:
我试图用请求动画帧做的是从creativeJS放置这段代码:
注释掉 setTimeout 并取消注释 requestanimationframe 行。但这没有用。
我想知道您是否无法传递参数,所以我将函数 animateRun 更改为不接受任何参数,而是引用一个全局变量 curDist,但这仍然不起作用。我不确定还有什么可以尝试或可能出了什么问题。我可以在 requestanimationframe 中追踪调用并且它有效 - 我什至输入了一种模数作为计时器来尝试减慢它(var frameCount = 0,frameCount 在每次调用 animateRun 时增加一次。如果 framecount%100 = 0 ,在 animateRun 中做所有的事情),但这也不起作用。该函数看起来像这样:
感谢您对如何解决此问题有任何想法。
javascript - 用 requestAnimationFrame 画弧
我在做什么:我正在使用设定的间隔从弧中绘制一个圆。绘制一个圆后,我正在绘制另一个半径稍微增加的圆,如小提琴所示。
我想要做的:我想实现相同的功能,但是应该在 1 分钟内完成一个圆圈(即画一个圆圈需要 60 秒。)使用requestAnimationFrame并避免 setInterval。
我知道 RAF 是什么,但无法实施
60 秒...英国皇家空军...循环。?? 我的代码:
仅针对 Ken 的更新问题:
1)如何将所有内容乘以 2(即比例)使一切变得更清晰。
2)我理解setInterval(anim,120);//这部分..ratio..这就是为什么循环在60秒完成?再次,我在使用 setInterval.Reason 时总是怀疑,因为它确实会在一段时间后提供混蛋。但在这种情况下不是。我不想让我的动画停止,这在使用 RAF 时总是发生。但是 raf 再次对优化非常有用。所以那里有点混乱,但我想我会采用 setInterval 的方式。
3)这个问题有点难,我现在正在研究它。如果我做不到,我会接受你的建议。它处理一些 json,创建多个实例并在数据停止时停止动画.我明天试试,现在太累了。
感谢肯的回答!正是我想要的。