KinetickJS を使用して画面に画像を描画しています。ステージにレイヤーがあり、base64 形式で 1000 枚の画像を受け取ります。まずはキネティックで描いてみます
例1、正常に動作しますが、1000枚の画像をドラッグしたり、レイヤーで何かを実行しようとすると、非常に遅くなりました。次の例を試します
var imageObj = new Image();
imageObj.onload = function () {
var image = new Kinetic.Image({
x: imageInfo.LocationX,
y: imageInfo.LocationY,
image: imageObj,
width: imageInfo.Width,
height: imageInfo.Height,
name: "Update"
});
layer.add(image);
layer.draw();
};
imageObj.src = "data:image/jpeg;base64," + imageInfo.Image;
例 2、ただしこの場合、更新ごとにキャンバスが点滅し始めました
var imageObj = new Image();
imageObj.onload = function () {
var canvas = layer.canvas;
var context = canvas.getContext('2d');
// context.globalCompositeOperation = "destination-over";
context.drawImage(imageObj, imageInfo.LocationX, imageInfo.LocationY);
};
imageObj.src = "data:image/jpeg;base64," + imageInfo.Image;
それで、それをより速くしたり、点滅を無効にしたりする方法はありますか?