"use strict";
-var timer = null;
-function tic() {
- timer = Date.now();
-}
-
-function toc(msg) {
- log(msg + ": " + (Date.now() - timer) + "ms");
- timer = null;
-}
-
-function log() {
- var args = Array.prototype.slice.call(arguments);
- postMessage({
- action: "log",
- data: args
- });
-}
-
+var consoleTimer = {};
var console = {
- log: log
+ log: function log() {
+ var args = Array.prototype.slice.call(arguments);
+ postMessage({
+ action: "log",
+ data: args
+ });
+ },
+
+ time: function(name) {
+ 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);
+ }
}
//
}
// User requested to render a certain page.
else {
- tic();
+ console.time("compile");
// Let's try to render the first page...
var page = pdfDocument.getPage(parseInt(data));
var fonts = [];
var gfx = new CanvasGraphics(canvas.getContext("2d"), CanvasProxy);
page.compile(gfx, fonts);
- toc("compiled page");
+ console.timeEnd("compile");
- tic()
+ console.time("fonts");
// Inspect fonts and translate the missing one.
var count = fonts.length;
for (var i = 0; i < count; i++) {
// This "builds" the font and sents it over to the main thread.
new Font(font.name, font.file, font.properties);
}
- toc("fonts");
+ console.timeEnd("fonts");
- tic()
+ console.time("display");
page.display(gfx);
canvas.flush();
- toc("displayed page");
+ console.timeEnd("display");
}
}
"use strict";
+if (typeof console.time == "undefined") {
+ var consoleTimer = {};
+ console.time = function(name) {
+ consoleTimer[name] = Date.now();
+ };
+
+ console.timeEnd = function(name) {
+ 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
- function tic() {
- timer = Date.now();
- }
-
- function toc(msg) {
- console.log(msg + ": " + (Date.now() - timer) + "ms");
- }
this.ctx = canvas.getContext("2d");
this.canvas = canvas;
// rendering at the end of the event queue ensures this.
setTimeout(function() {
if (id == 0) {
- tic();
+ console.time("canvas rendering");
var ctx = this.ctx;
ctx.save();
ctx.fillStyle = "rgb(255, 255, 255)";
ctx.restore();
}
renderProxyCanvas(canvasList[id], cmdQueue);
- if (id == 0) toc("canvas rendering")
+ if (id == 0) console.timeEnd("canvas rendering")
}, 0, this);
}
}