Skip to content
Snippets Groups Projects
Commit 1e78bcb1 authored by Amanda Ghassaei's avatar Amanda Ghassaei
Browse files

web workers working locally

parent bd174ac3
Branches
No related tags found
No related merge requests found
......@@ -7,6 +7,6 @@ $(function(){
three = Three();
setupNavBar();
workers = makeWorkers();
makeWorkers(4);
});
//global workers so they do not have to be reinstantiated
function browserSupportsWebWorkers() {
return typeof window.Worker === "function";
}
function makeWorkers(){
function makeBlobURL(myWorkerFunction) {
var URL = window.URL || window.webkitURL;
var blob = new Blob([myWorkerFunction.toString()], { type: "text/javascript" });
return URL.createObjectURL(blob);
}
function workerFunction(){
// var isNode = typeof module !== 'undefined' && module.exports;
//
// if (isNode) {
// process.once('message', function (code) {
// eval(JSON.parse(code).data);
// });
// } else {
console.log("eval");
self.onmessage = function (code) {
console.log(code);
eval(code.data);
};
// }
}
// return new Parallel(null, {env:null, evalPath: "dependencies/eval.js"}).require('three.js');
}
\ No newline at end of file
//global workers so they do not have to be reinstantiated
function browserSupportsWebWorkers() {
return typeof window.Worker === "function";
}
function makeWorkers(numWorkers){
var allWorkers = [];
var URL = window.URL || window.webkitURL;
var workerURL = makeBlobURL(URL, myWorker);
for (var i=0;i<numWorkers;i++){
var worker = new Worker(workerURL);
worker.postMessage([i,4]);
worker.onmessage = function(e) {
console.log(e.data);
};
allWorkers.push(worker);
}
URL.revokeObjectURL(workerURL);
function makeBlobURL(URL, someFunction) {
var blob = new Blob(["(" + someFunction.toString() + ")()"], { type: "text/javascript" });
return URL.createObjectURL(blob);
}
}
\ No newline at end of file
......@@ -2,20 +2,23 @@
* Created by aghassaei on 1/12/15.
*/
function myWorker(){
self.onmessage = function(e) {
var data = e.data;
self.onmessage = function(e) {
var data = e.data;
if (data.url) {
var url = data.url.href;
var index = url.indexOf('main.html');//url of landing page
if (index != -1) {
url = url.substring(0, index);
}
//load all scripts
// importScripts(url + 'dependencies/three.js');
// importScripts(url + 'js/element.js');
}
if (data.url) {
var url = data.url.href;
var index = url.indexOf('main.html');//url of landing page
if (index != -1) {
url = url.substring(0, index);
}
//load all scripts
importScripts(url + 'dependencies/three.js');
// importScripts(url + 'js/element.js');
}
var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
postMessage(workerResult);
};
\ No newline at end of file
};
}
......@@ -32,7 +32,8 @@
<!--multi-threading-->
<script src="dependencies/parallel.js"></script>
<script src="js/persistantWorkers.js"></script><!--global workers-->
<script src="js/worker.js"></script>
<script src="js/persistentWorkers.js"></script><!--global workers-->
<script src="js/main.js"></script>
<script src="dependencies/loaders/STLLoader.js"></script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment