136 lines
2.9 KiB
HTML
136 lines
2.9 KiB
HTML
<html>
|
|
<head>
|
|
<script type="text/javascript" src="CBDL.js"></script>
|
|
<script type="text/javascript">
|
|
myBenchmark = function() {
|
|
var events;
|
|
|
|
this.Main = function() {
|
|
var results = 0;
|
|
events = new CBDL.Event();
|
|
console.log("first test, 50 iterations of 1000:");
|
|
for(var i=0;i<50;i++) {
|
|
results += this.firstTest();
|
|
}
|
|
console.log("results: "+(results/50));
|
|
console.log("second test, 50 iterations of 1000:");
|
|
results = 0;
|
|
for(var i=0;i<50;i++) {
|
|
results += this.secondTest();
|
|
}
|
|
console.log("results: "+(results/50));
|
|
};
|
|
|
|
this.firstTest = function() {
|
|
var time_start = new Date().getTime();
|
|
for(var i=0;i<1000;i++) {
|
|
var object = {};
|
|
object.type = "test";
|
|
events.event_pool.push(object);
|
|
}
|
|
while(event = events.pollEvent()) {
|
|
if (object.type == "test") {
|
|
// just a test
|
|
} else if (object.type == "mousemove") {
|
|
// doot doot
|
|
} else if (object.type == "keypress") {
|
|
//la la
|
|
}
|
|
}
|
|
var time_end = new Date().getTime();
|
|
return(time_end-time_start);
|
|
};
|
|
|
|
TEST = 0x01;
|
|
MOUSEMOVE = 0x02;
|
|
KEYPRESS = 0x03;
|
|
|
|
this.events_list = {
|
|
"test": TEST,
|
|
"mousemove": MOUSEMOVE,
|
|
"keypress": KEYPRESS
|
|
};
|
|
|
|
this.secondTest = function() {
|
|
var time_start = new Date().getTime();
|
|
for(var i=0;i<1000;i++) {
|
|
var object = {};
|
|
object.type = "test";
|
|
events.event_pool.push(object);
|
|
}
|
|
while(event = events.pollEvent()) {
|
|
switch(this.events_list[object.type]) {
|
|
case TEST:
|
|
// something
|
|
break;
|
|
case MOUSEMOVE:
|
|
// something else
|
|
break;
|
|
case KEYPRESS:
|
|
// doop doop
|
|
break;
|
|
}
|
|
}
|
|
var time_end = new Date().getTime();
|
|
return(time_end-time_start);
|
|
};
|
|
}; CBDL.extend(CBDL.App, myBenchmark);
|
|
|
|
myApp2 = function() {
|
|
this.name = "myApp2";
|
|
this.requires = ["CBDL_graphics.js"];
|
|
var display; // private member
|
|
var main_loop; // private member
|
|
var events;
|
|
var event;
|
|
|
|
this.Main = function() {
|
|
display = new CBDL.Graphics.Display(document.body, new CBDL.Graphics.VideoMode(320, 240, CBDL.Graphics.VM_SCALE), CBDL.Graphics.BACKEND.CANVAS_2D);
|
|
display.Init();
|
|
display.Fill(0x00, 0x00, 0x00);
|
|
|
|
var drawable = new display.Drawable();
|
|
console.log(drawable.testFunc);
|
|
drawable.testFunc();
|
|
|
|
events = new CBDL.Event(["keydown", "keyup", "focus", "blur"]);
|
|
|
|
(main_loop = new CBDL.Loop(this, onLoop)).start();
|
|
};
|
|
|
|
function onLoop(delta) {
|
|
while(event = events.pollEvent()) {
|
|
if (event.type == "blur") {
|
|
onBlur();
|
|
} else if (event.type == "focus") {
|
|
onFocus();
|
|
} else if (event.type == "keydown") {
|
|
console.log("keydown: "+event.keyCode);
|
|
} else if (event.type == "keyup") {
|
|
console.log("keyup: "+event.keyCode);
|
|
}
|
|
}
|
|
return(10);
|
|
};
|
|
|
|
function onFocus() {
|
|
display.Fill(0x00, 0x00, 0x00);
|
|
};
|
|
|
|
function onBlur() {
|
|
display.Fill(0x4F, 0x4F, 0x4F);
|
|
};
|
|
|
|
}; CBDL.extend(CBDL.App, myApp2);
|
|
|
|
init = function() {
|
|
var app_2 = new myApp2();
|
|
app_2.Go();
|
|
}
|
|
CBDL.addEvent(window, 'load', init);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
</body>
|
|
</html>
|