我需要尽可能流畅地创建 CPU 效率非常高的滚动文本。性能如此关键的原因是我同时也在从用户的麦克风录音。到目前为止,我已经尝试了两件事:
scroller = setInterval(scroll_words, 100);
function scroll_words ()
{
var words= document.getElementById("words");
var speed = document.getElementById("word_speed").value;
var total_height = word.children.length * 18;
words.scrollTop += 0.1 * 18 * speed;
}
这个明显不连贯,它会导致录制时出现严重错误(跳过或空白点)。这是我的第二次尝试:
var words = document.getElementById("words");
var speed = document.getElementById("word_speed").value;
words.style.webkitTransition = ((18 * words.children.length)/speed)+"s all linear";
words.style.webkitTransform = "translate(0px, -"+(18 * words.children.length)+"px)";
这对性能不那么苛刻(并且更平滑,因为它可以进行亚像素移动),但它仍然会导致在某些计算机上录制时出现明显的错误,尤其是那些带有板载视频的计算机。
有没有办法在不给 CPU 增加太多负载的情况下做到这一点?