jjzjj

WebWorker

全部标签

javascript - 三个js的loader使用webworker和IndexedDB

想在多线程中使用threeJS的dracoLoader,于是选择了Webworker和IndexedDB。我在webworker中获得了正确的几何图形,但是,当我使用IndexedDB将数据传递到主线程时,几何图形将更改为普通的JS对象而不是ThreeJS几何图形。几何图形失去了它的功能和一些信息。网络worker.jsself.saveDrcToIndexedDB=function(drcfinal){vardb;varrequest=indexedDB.open("drcDB");drcfinal.indexName=self.randomStr();request.onupgra

Javascript webworker 不会通过 XMLHttpRequest 加载 XML 文件

我正在努力让网络worker从我主页一侧的同一域加载XML文件,我们将不胜感激。functionreadXML(){varxhr=newXMLHttpRequest();//OnlyforFFxhr.open("GET","../db/pointer.xml",true);xhr.send(null);xhr.onreadystatechange=function(e){if(xhr.status==200&&xhr.readyState==4){//PostbackinfotomainpagepostMessage(xhr.responseXML.getElementsByTagNa

javascript - 无法从 Chrome 中的 webworker 内部创建 Web Worker

使用Chrome17.0.963.46m,我尝试从网络worker内部创建一个新的网络worker。但是得到了一个“UncaughtReferenceError:Workerisnotdefined”任何信息。在这个?(谷歌在webworkers中创建webworker的链接少得惊人) 最佳答案 即使在Chrome19上也是当前状态——这是错误:http://code.google.com/p/chromium/issues/detail?id=31666它正在FF上工作。 关于java

javascript - 在需要时生成 WebWorker 还是重用同一个?

我正在创建一个WebGL游戏,它需要WebWorker进行一些网格处理,以防止主线程出现延迟。我的问题-是在需要时生成/创建新的WebWorker并在工作完成后终止它们,还是创建一个在内部对网格处理进行排队的永久WebWorker更好?生成(和销毁)新的WebWorker是否会产生大量开销?在需要时创建它们的主要优点是一次运行多个,没有等待完成的处理积压,这意味着更快的网格生成。非常感谢任何建议,以便我可以优化我的代码以获得最佳性能。谢谢! 最佳答案 这不是一个真正的WebGL问题,它只是一个一般的WebWorker问题。尽管这取决

javascript - 加载脚本失败 - Webworker (PDF.JS)

我正在尝试加载pdf.jswebworker,但我不能!?在浏览器中打开时存在URL//cdn.localhost/js/pdf/worker_loader.js?v=280错误Failedtoloadscript://cdn.localhost/js/pdf/worker_loader.js?v=280(nsresult=0x805303f4)html(URL=//secure.localhost)PDFJS.workerSrc='//cdn.localhost/js/pdf/worker_loader.js?v=280';PDFJS.getDocument(voucher_url)

javascript - 通过引用从/向 webworker 传递对象

是否可以通过引用将对象从/传递到主线程?我读过here有关可转让对象的信息。Chrome13introducedsendingArrayBuffersto/fromaWebWorkerusinganalgorithmcalledstructuredcloning.ThisallowedthepostMessage()APItoacceptmessagesthatwerenotjuststrings,butcomplextypeslikeFile,Blob,ArrayBuffer,andJSONobjects.Structuredcloningisalsosupportedinlater

javascript - 从WebWorker同步获取数据?

虽然我知道JavaScript本质上是单线程的并且通常不赞成这样的事情,但我想知道是否有任何方法可以让WebWorker等待直到一些数据从主线程可用而不破坏调用堆栈WebWorker。因为这是一个有趣的项目,我可以使用新技术和不能在旧版浏览器上可靠运行的东西,而且我不介意深奥的hack,只要它们有效。我想到的其他一些解决方案:在循环中不断轮询LocalStorage,直到在预定键处有数据。这似乎可行,因为即使在循环中轮询时,其他线程的LocalStorage更新也应该对当前线程可见,从所有discussions判断。关于LocalStorage的线程安全以及让多个选项卡写入同一个Loc

javascript - webworker的postMessage如何传递大对象?

我读到过使用webworker的postmessage可以非常快速地传输可传输对象。根据this可传输对象是arraybuffer或messageport。问题是,我如何将大型(30mb)的任意对象转换为可传输对象并将其作为参数传递给postmessage。据我了解,我可以将数组转换为json字符串,然后将json字符串转换为原始字节数据并将其存储在数组对象中。然而,这似乎违背了快速传输的目的。有人可以启发我将对象作为可转移对象传递,或者是否可能?提前致谢! 最佳答案 这种误解在这里反复出现。您想象可以编写一些快速javascrip

javascript - 在 WebWorker (NWJS) 中不能需要 Node 模块

我正在尝试做一些我认为很简单的事情。我正在使用nwjs(以前称为Node-Webkit),如果您不知道这基本上意味着我正在使用Chromium和Node开发桌面应用程序,其中DOM与Node处于同一范围内。我想将工作卸载给网络worker,以便当我将一些文本发送到IvonaCloud(使用ivona-node)时GUI不会挂起,这是一个文本到语音API。音频在生成并写入MP3时以block的形式返回。ivona-node使用fs将mp3写入驱动器。我让它在dom中工作,但需要webworkers才能不挂起UI。所以我有两个Node模块需要在webworker中使用,ivona-node

javascript - 使用Webpack拆分出一个模块,以便在WebWorker中加载

我有一个使用webpack编译的网络应用程序。我的代码使用的模块之一名为table.js。直到最近,它还只是另一个模块,并已与其他所有内容一起编译到我的bundle.js文件中。现在我需要在WebWorker中运行table.js,所以我需要将它和它的依赖项拉到一个单独的文件中,该文件既可以独立加载,也可以由我的其他模块加载。起初我想在我的webpack.config.js的entry中包含table.js。varconfig={...entry:{app:['./src/main.js','./src/classes/table.js'],vendors:[],},...}那没用。然