草庐IT

commonPool-worker

全部标签

javascript - 限制 Web Worker CPU 利用率?

我正在考虑使用WebWorker编写一个长时间运行的CPU密集型操作,似乎确实有可能将客户端的CPU使用率提高到100%。(参见CanWebWorkersutilize100%ofamulti-coreCPU?)有谁知道有什么有效的方法可以限制webworker的CPU使用率吗? 最佳答案 确实有办法。构建您的计算,以便它们可以通过重复调用在退出前执行部分工作的函数来完成。在退出之前,使用setTimeout在几毫秒内安排对辅助函数的新调用。可以调整等待时间以使用更少或更少的CPU时间。functiondoWork(){vartim

javascript - 在游戏中使用 Web Worker 有意义吗?

我正在开发一款具有AI逻辑、移动等和绘图的游戏。使用WebWorkers计算移动和AI逻辑是否有意义?但是我该怎么做——因为工作人员需要知道很多关于主线程的信息,比如某些物体发生碰撞的位置、子弹的数量等。这感觉是不可能的,因为工作人员与主线程完全分开永远无法访问。我知道有一个postMessage()系统,但感觉很……嗯,很痛苦?例如,我有一个rifleman对象,代表一个具有sprite、位置、生命值等的步枪手。我想让他巡逻。那么,我该如何在worker上执行巡逻代码呢?它几乎需要对该对象的全部访问权限。 最佳答案 我认为将Web

html - 同时最大运行web worker html5

同时运行的webworker是否有最大数量限制?非常感谢。 最佳答案 是也不是。对于WebWorkers,没有硬性限制,但您会受到可用CPU和内存的限制。每个worker都会带来相当大的CPU和内存开销,因此,如果您分拆大量worker,则可能会使机器陷入困境。我认为WebWorker最适合用于100毫秒或更长时间的“长时间运行”后台任务。 关于html-同时最大运行webworkerhtml5,我们在StackOverflow上找到一个类似的问题: http

html - 使用 Shared Worker 的 Chrome 内存泄漏?

我有一个启动HTML5SharedWorker脚本的网页。每次重新加载此页面(按F5)时,Chrome内存使用量都会增加。worker脚本非常简单。每秒(使用setInterval)向连接的端口发送一条消息。每次我按F5时,工作进程似乎都被终止并重新启动。这是我所期望的,因为worker实际上并没有被多个"file"共享。但是,我无法弄清楚为什么每次刷新都会增加内存使用量。有人知道为什么会这样吗?考虑到每次重新加载页面时内存都会增加,这让我觉得我根本无法在Chrome中使用共享worker。有没有人能够在没有内存问题的情况下这样做?更新这是托管HTML:$(function(){var

javascript - 除非清除缓存,否则 Web Worker 不会在 IE 中启动

我的HTML5脚本中有一个非常奇怪的错误。我完全在OData中编写了一个Sharepoint应用程序,它使用一些HTML5webworker在后台进行数字运算。这适用于所有主流浏览器(FF、IE10+Chrome等)。但是,当我执行刷新或再次浏览到该页面时。该脚本在FF和Chrome上仍能正常工作,但在IE上挂起。在我的WebView中,我看到了对Worker.js文件的请求,但响应为304NOTMODIFIED。然后IE就卡在那里,状态为(待定)。只有当我清除浏览器缓存时,这个问题才会得到解决。我使用self.close()正确关闭了所有线程。知道问题出在哪里吗?我不确定这是代码问题

javascript - 如何使用网络 worker 加载图像?

我正在尝试使用webworkerapi加载图像。我的html页面中有大图像,加载所有图像需要5分钟,因此我使用webworker加载图像。这是技术..我在html页面中将所有img标签的src属性保持为空。每个img的所有图像都有唯一的ID,例如id=events_all_1_01表示图像源将是“pictures/keywords/events/all/1/01.jpg>”。即最后一部分events/all/1/01.jpg是id。Main.html文件window.onload=function(){if(Modernizr.webworkers){varworker=newWork

javascript - 如何进行 worker 与 worker 的沟通?

我正在对网络worker进行试验,想知道他们在处理令人尴尬的并行问题时的表现如何。因此我实现了Connaway'sGameofLife.(比做模糊之类的更有趣。但是,在那种情况下,问题是一样的。)目前我有一个网络worker执行迭代并为UI线程发回新的ImageData以放置在我的Canvas中。效果很好。然而,我的实验并没有就此结束,因为我有几个可用的CPU,并且想并行化我的应用程序。所以,首先我将我的数据一分为二,从中间开始,让两个工作人员各自处理一半数据。问题当然是split。workerA需要workerB的一列像素,反之亦然。现在,我可以通过让我的UI线程将该列交给工作人员来

javascript - HTML5 Web Workers 在 Firefox 4 中工作,但在 Chrome 12.0.742.122 中不工作

当我尝试使用HTML5中的WebWorkers功能时,我的firefox工作正常,但chrome提示:UncaughtTypeError:Cannotcallmethod'postMessage'ofundefinedxstartWorkerworker.html:7(anonymousfunction)worker.html:1onclickworker.html:2worker.htmlStartworkerfunctionxstartWorker(){worker.postMessage({'cmd':'startWorker','msg':'Startnow!'});}varw

javascript - 在网络 worker 之间共享变量? [全局变量?]

我有什么办法可以在两个网络worker之间共享一个变量吗?(Webworkers基本上是Javascript中的线程)在像c#这样的语言中,你有:publicstaticstringmessage="";staticvoidMain(){message="asdf";newThread(mythread).Run();}publicstaticvoidmythread(){Console.WriteLine(message);//outputs"asdf"}我知道这是一个糟糕的例子,但在我的Javascript应用程序中,我有一个线程执行繁重的计算,可以分布在多个线程中[因为我有大量数

javascript - 网络 worker 和缩放图像

我需要在WebWorker中以数组形式缩放图像。如果我在网络worker之外,我可以使用Canvas和drawImage来复制图像的某些部分或对其进行缩放。看起来像在网络worker中我不能使用Canvas,我该怎么办?有没有可以帮助我的纯Javascript库?非常感谢。 最佳答案 缩放可以通过多种方式完成,但它们都归结为从图像中删除或创建像素。由于图像本质上是像素值的矩阵(调整大小为数组),因此您可以将放大图像视为扩大该数组并填充空白,将图像缩小为通过忽略值缩小数组。话虽如此,在JavaScript中编写自己的用于数组的缩放函数