Javascript HTML5画布更快的fillText()与drawImage()
我有一个数字时钟正在运行,每10毫秒更新一次。在每次抽签调用中,我都使用以下内容:Javascript HTML5画布更快的fillText()与drawImage(),javascript,html,canvas,Javascript,Html,Canvas,我有一个数字时钟正在运行,每10毫秒更新一次。在每次抽签调用中,我都使用以下内容: var gradient = clockContext.createLinearGradient(0, 0, 0, this.digitWidth); gradient.addColorStop(0.15, "rgb(255, 252, 52)"); gradient.addColorStop(0.15, "rgb(245, 127, 26)"); gradient.addColo
var gradient = clockContext.createLinearGradient(0, 0, 0, this.digitWidth);
gradient.addColorStop(0.15, "rgb(255, 252, 52)");
gradient.addColorStop(0.15, "rgb(245, 127, 26)");
gradient.addColorStop(1, "rgb(248, 159, 52)");
clockContext.fillStyle = gradient;
clockContext.lineWidth = 1;
clockContext.lineStyle = "#000000";
clockContext.fillText(time, (this.digitWidth * i) + e + s, 46);
clockContext.strokeText(time, (this.digitWidth * i) + e + s, 46);
现在,这比创建一个0-9数字的PNG快还是慢,缓存每个数字,然后在每次绘图调用中使用drawImage?drawImage总是,总是比fillText快。根据文本的构造方式,它可以快100多倍
不久前,我在这里做了一个曲折的分析:
这里有一个简单的jsperf示例:drawImage总是,总是比fillText快。根据文本的构造方式,它可以快100多倍
不久前,我在这里做了一个曲折的分析:
下面是一个简单的jsperf示例:现在使用drawImage。在单独的画布上画0-9,然后画到主画布上,还是直接画到主画布上更好?神圣的翻转奶牛。这使我的应用程序更加流畅和快速。谢谢你的例子!只需使用0123456789制作一个PNG,并将该PNG直接绘制到主画布上即可。现在使用drawImage。在单独的画布上画0-9,然后画到主画布上,还是直接画到主画布上更好?神圣的翻转奶牛。这使我的应用程序更加流畅和快速。谢谢你的例子!只需使用0123456789制作一个PNG,并将该PNG直接绘制到主画布上,也就是该PNG的一部分。