所以我正在为three.js创建一个Tile Renderer,一切似乎都在工作。
它的运作方式如下:
a)创建一堆相机, b)渲染每个摄像机中的场景 c)创建' toDataURL'并下载。
一些代码:
this.renderer.render( this.scene , this.camera );
var imgData = this.renderer.domElement.toDataURL();
//this.imageData.push( imgData );
var a = document.createElement('a');
a.href = imgData;
a.download = this.title + "_"+this.x+"_"+this.y+".png";
a.click();
现在因为我这样做了多次,(理想情况下是任意次数)。它最终可能会产生数百张图像。
这样做会导致我的Chrome标签崩溃。每次都是字面意思。我想知道是否还有阻止这种情况发生?通过在运行chrome时设置标志,或者使用代码执行某些操作。我尝试过为每个渲染调用设置超时(AKA暂停渲染器,而不是渲染1个图像并每隔10秒保存一次),但即使这样也无法正常工作。
您可以在此处查看崩溃:http://cabbi.bo/ENOUGH/(按' p'尝试捕获图像,页面需要片刻加载)。
提前感谢您的帮助!
Isaac / Cabbibo
答案 0 :(得分:4)
在我的包装盒上,将大图像保存为PNG会导致Chrome(OS X 10.10,Chrome 40)崩溃。保存image as a JPG可解决此问题。我猜测PNG数据字符串太大了。
var imgData = renderer.domElement.toDataURL("image/jpeg");