Browse Source

Replace tic & toc by console.time/timeEnd

Julian Viereck 14 years ago
parent
commit
d1b75dd633
  1. 41
      pdf_worker.js
  2. 26
      worker_client.js

41
pdf_worker.js

@ -3,26 +3,27 @@
"use strict"; "use strict";
var timer = null; var consoleTimer = {};
function tic() { var console = {
timer = Date.now(); log: function log() {
}
function toc(msg) {
log(msg + ": " + (Date.now() - timer) + "ms");
timer = null;
}
function log() {
var args = Array.prototype.slice.call(arguments); var args = Array.prototype.slice.call(arguments);
postMessage({ postMessage({
action: "log", action: "log",
data: args data: args
}); });
} },
var console = { time: function(name) {
log: log consoleTimer[name] = Date.now();
},
timeEnd: function(name) {
var time = consoleTimer[name];
if (time == null) {
throw "Unkown timer name " + name;
}
this.log("Timer:", name, Date.now() - time);
}
} }
// //
@ -52,7 +53,7 @@ onmessage = function(event) {
} }
// User requested to render a certain page. // User requested to render a certain page.
else { else {
tic(); console.time("compile");
// Let's try to render the first page... // Let's try to render the first page...
var page = pdfDocument.getPage(parseInt(data)); var page = pdfDocument.getPage(parseInt(data));
@ -62,9 +63,9 @@ onmessage = function(event) {
var fonts = []; var fonts = [];
var gfx = new CanvasGraphics(canvas.getContext("2d"), CanvasProxy); var gfx = new CanvasGraphics(canvas.getContext("2d"), CanvasProxy);
page.compile(gfx, fonts); page.compile(gfx, fonts);
toc("compiled page"); console.timeEnd("compile");
tic() console.time("fonts");
// Inspect fonts and translate the missing one. // Inspect fonts and translate the missing one.
var count = fonts.length; var count = fonts.length;
for (var i = 0; i < count; i++) { for (var i = 0; i < count; i++) {
@ -77,11 +78,11 @@ onmessage = function(event) {
// This "builds" the font and sents it over to the main thread. // This "builds" the font and sents it over to the main thread.
new Font(font.name, font.file, font.properties); new Font(font.name, font.file, font.properties);
} }
toc("fonts"); console.timeEnd("fonts");
tic() console.time("display");
page.display(gfx); page.display(gfx);
canvas.flush(); canvas.flush();
toc("displayed page"); console.timeEnd("display");
} }
} }

26
worker_client.js

@ -3,15 +3,23 @@
"use strict"; "use strict";
function WorkerPDFDoc(canvas) { if (typeof console.time == "undefined") {
var timer = null var consoleTimer = {};
function tic() { console.time = function(name) {
timer = Date.now(); consoleTimer[name] = Date.now();
} };
function toc(msg) { console.timeEnd = function(name) {
console.log(msg + ": " + (Date.now() - timer) + "ms"); var time = consoleTimer[name];
if (time == null) {
throw "Unkown timer name " + name;
} }
this.log("Timer:", name, Date.now() - time);
};
}
function WorkerPDFDoc(canvas) {
var timer = null
this.ctx = canvas.getContext("2d"); this.ctx = canvas.getContext("2d");
this.canvas = canvas; this.canvas = canvas;
@ -203,7 +211,7 @@ function WorkerPDFDoc(canvas) {
// rendering at the end of the event queue ensures this. // rendering at the end of the event queue ensures this.
setTimeout(function() { setTimeout(function() {
if (id == 0) { if (id == 0) {
tic(); console.time("canvas rendering");
var ctx = this.ctx; var ctx = this.ctx;
ctx.save(); ctx.save();
ctx.fillStyle = "rgb(255, 255, 255)"; ctx.fillStyle = "rgb(255, 255, 255)";
@ -211,7 +219,7 @@ function WorkerPDFDoc(canvas) {
ctx.restore(); ctx.restore();
} }
renderProxyCanvas(canvasList[id], cmdQueue); renderProxyCanvas(canvasList[id], cmdQueue);
if (id == 0) toc("canvas rendering") if (id == 0) console.timeEnd("canvas rendering")
}, 0, this); }, 0, this);
} }
} }

Loading…
Cancel
Save