Sto tentando di utilizzare QML Canvas.requestAnimationFrame
per disegnare alcune animazioni personalizzate. Mi aspettavo che il callback fornito fosse chiamato una volta per ogni frame, circa 60 volte al secondo. Il codice che ho è:QML Canvas.requestAnimationFrame esplode
Canvas {
id: canvas
width: 600
height: 600
function draw() {
}
Component.onCompleted: {
var i = 1;
function drawFrame() {
requestAnimationFrame(drawFrame)
console.log("Frame callback: " + i++)
draw()
}
drawFrame()
}
onPaint: {
draw()
}
}
Quello che vedo è che il callback viene chiamata modo più spesso. Il contatore raggiunge 70000 in pochi secondi, dopodiché l'applicazione diventa completamente non rispondente.
Cosa sto sbagliando?
Penso che sia necessario evitare la ricorsione nel codice. – folibis
Correlati: http://stackoverflow.com/q/39353234/405017 – Phrogz