したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

821774さん:2008/11/16(日) 14:30:59 ID:CENbthlg0
上から下にかけて早くなった(in Firefox)。
ballという関数は、半径の指定した大きさの円を描いたcanvasエレメントを返す関数。実装は一番下。
beginPathとfillを最初と最後に行ったほうが遅くなったのは意外。
-----
x++;
for(var i = 0; i < 1000; ++i){
drawImage(ball(7), i * 7 * 2, x);
}
/*
for(var i = 0; i < 1000; ++i){
beginPath();
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
fill();
}
*/
/*
beginPath();
for(var i = 0; i < 1000; ++i){
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
}
fill();
*/
------
var ball = function(){
var objs = {};
return function(size){
if(objs[size + ""]) return objs[size + ""];

var ca = objs[size + ""] = d.createElement("canvas");
ca.width = ca.height = size * 2 + "";
var c = ca.getContext("2d");
with(c){
beginPath();
arc(size, size, size, 0, Math.PI * 2, false);
fill();
}
return ca;
};
}();


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板