Javascript 控制浏览器时间[PhantomJS]

Javascript 控制浏览器时间[PhantomJS],javascript,animation,phantomjs,Javascript,Animation,Phantomjs,我正在尝试将动画(使用html和javascript完成)渲染到视频中。我想在后端执行此操作。所以我选择了幻影。我有一个10秒的测试动画。我试着录制前2秒的动画并将它们转储到png文件中。假设我想每秒生成24帧,持续2秒(即总共48帧)。 我的期望是,如果我将图像文件合并到视频中,我将获得前2秒的动画效果,但实际情况是,我获得了8-10秒的动画效果,即fps不好的动画效果。我记录了计时,发现每次渲染都要花费1000/24毫秒以上的时间。因此,浏览器移动速度加快,帧被跳过。有没有一种方法可以让我停

我正在尝试将动画(使用html和javascript完成)渲染到视频中。我想在后端执行此操作。所以我选择了幻影。我有一个10秒的测试动画。我试着录制前2秒的动画并将它们转储到png文件中。假设我想每秒生成24帧,持续2秒(即总共48帧)。 我的期望是,如果我将图像文件合并到视频中,我将获得前2秒的动画效果,但实际情况是,我获得了8-10秒的动画效果,即fps不好的动画效果。我记录了计时,发现每次渲染都要花费1000/24毫秒以上的时间。因此,浏览器移动速度加快,帧被跳过。有没有一种方法可以让我停止浏览时间或者回到过去。类似于

第页转到(t=041毫秒)
render()
page.goto(t=082毫秒)
render()
…依此类推

下面是我正在使用的代码

    function snap(i){
                if(i<=numFrames){
                    var ctr=10+i;
                    var renderstart = new Date().getTime();
                    page.render("frames/frame"+ctr+".png");
                    var renderend = new Date().getTime();
                    console.log("time taken for rendering single--"+(renderend-renderstart));
                    window.setTimeout(function(){
                        snap(++frameCount);
                    },1);
                }else{
                    var end = new Date().getTime();
                    console.log("Time taken = "+(end-start));
                    phantom.exit();
                }
            }
功能捕捉(i){

if(iUpdate)-我找不到如上所述的控制浏览器时间的方法。但我找到了控制动画时间线的方法。即我可以告诉我的时间线转到任何时间并停止。因此我的代码将如下所示-animation.gotoAndPause(t=0.41)、page.render()、animation.gotoAndPause(t=0.82)、page.render()通过这种方式,我可以实现我想要的。更新-我找不到如上所述的控制浏览器时间的方法。但我找到了一种控制动画时间线的方法。即我可以告诉我的时间线转到任何时间并停止。因此,我的代码将如下所示-animation.gotoAndPause(t=0.41),page.render(),animation.gotoAndPause(t=0.82),page.render()这样我就能实现我想要的。