En utilisant l'élément Canvas, je dessine une ligne d'un élément à un autre élément. Un autre élément est déplaçable, et lorsque vous faites glisser l'élément, la ligne suit l'élément déplaçable.Élément de toile lente
Mon problème est que le rendu apears lent (Fx 3.5 sur un Mac PowerBook) je pense que je l'ai vu de bien meilleures performances en toile avant
Toute personne ayant une expérience de toile qui peut donner quelques conseils de performance?
Merci à l'avance
La méthode suivante est appelée sur l'événement on glisser,
// Runs when the element is dragged.
function onDrag(key)
{
var ctx = canvas.context;
var fromRect = $('#box-' + key).offset();
var fromHeight = $('#box-' + key).height();
var fromWidth = $('#box-' + key).height();
var toRect = $('#draggable').offset();
var toWidth = $('#draggable').width();
var startX = toRect.left + toWidth/2;
var startY = toRect.top + 4;
var endX = fromRect.left + fromWidth/2;
var endY = fromRect.top + fromHeight/2;
ctx.clearRect(0, 0, 5000, 5000);
ctx.beginPath();
ctx.moveTo(startX, startY);
ctx.lineTo(endX, endY);
ctx.strokeStyle = "rgba(0, 0, 0,1)";
ctx.stroke();
}
Merci pour les conseils,
meilleures salutations Eric
Avez-vous utilisé le profileur? Comme "unknown (yahoo)" indique, votre goulot d'étranglement pourrait être toutes ces mesures de hauteur, largeur, offset. –