В настоящее время я сталкиваюсь с проблемой, пытаясь получить плавную анимацию.
Я использую Vue + Electron, при этом основные процессы отправляют данные в процесс рендерера примерно в 16-33 мс (30-60fps). Когда я получаю данные в своем компоненте, я обновляю свойство data, и оно привязывается к свойству style элемента. Это работает, но есть немного дрожания. Мне любопытно, есть ли лучший способ справиться с этим. Есть ли что-то похожее на requestAnimationFrame ()? Спасибо.
Упрощенный пример:
<template>
<div>
<img :style={'transform': `translate(${x}%, ${y}%)} src=""></img>
</div>
</template>
<script>
data: function () {
return {
x: 50,
y: 50
}
},
mounted () {
// this is coming every ~16-33ms
this.$electron.ipcRenderer.on('data', (e, data) => {
this.x = data.x
this.y = data.y
})
}
</script>