性能方面,我应该使用@font-face还是“我应该”;画;带Javascript和HTML画布的文本?

性能方面,我应该使用@font-face还是“我应该”;画;带Javascript和HTML画布的文本?,javascript,html,optimization,canvas,font-face,Javascript,Html,Optimization,Canvas,Font Face,我的情况是,我必须创建一个物理时尚杂志的网络版。杂志封面有5种不同的字体和5种不同的风格。性能方面,我应该使用@font-face还是使用Javascript和HTML画布“绘制”文本 编辑:Web版是针对iPad的,我将构建Web应用程序,然后使用PhoneGap,这样我可以将应用程序提交到应用商店。CSS通常比画布元素渲染更快。我想每个浏览器的具体性能都会有所不同,但是您可以通过检查来比较使用CSS和canvas的相同操作 在我的电脑中,这是结果(不是字体,但可以作为参考): 对于这个答案,

我的情况是,我必须创建一个物理时尚杂志的网络版。杂志封面有5种不同的字体和5种不同的风格。性能方面,我应该使用@font-face还是使用Javascript和HTML画布“绘制”文本


编辑:Web版是针对iPad的,我将构建Web应用程序,然后使用PhoneGap,这样我可以将应用程序提交到应用商店。

CSS通常比画布元素渲染更快。我想每个浏览器的具体性能都会有所不同,但是您可以通过检查来比较使用CSS和canvas的相同操作

在我的电脑中,这是结果(不是字体,但可以作为参考):

对于这个答案,只能做出假设,因为这在很大程度上取决于:

  • 操作系统和浏览器,因为正是操作系统和浏览器完成了整理HTML文档的工作
  • 打开网页的人的带宽速度。使用CSS方法,它需要下载另一个资源(或者多个字体资源)。是的,我同意这在现在影响不大
  • Canvas的局限性如何,例如国际化、搜索引擎优化、与web内容管理的集成、可访问性等。。。最可能,但需要努力
  • 最后,努力实现canvas vs CSS方法。我想用CSS实现会更快

  • 就我个人而言,我会坚持使用CSS,因为我只喜欢将我的内容(HTML)、表示(CSS)和逻辑(JavaScript)分开

    但是您仍然需要为画布文本加载字体文件,不是吗?@ŠimeVidas提出了一个很好的观点——而且,您将通过使用画布元素来显示文本来限制可访问性。尤其是对于基于文本的媒体网站,应该避免这种情况。@rlemon如果我的假设是正确的,那么这个问题就没有意义了,因为CANVAS不能替代
    @font-face
    。但是,我想可以用矩形和圆形“手动”创建字体,所以OP的意思可能是。@ŠimeVidas不管它看起来有什么意义,如果(这是一个很大的如果)OP找到了一种比使用CSS替代方法更快地生成这些字体面的方法,那么易访问性和SEO的缺点就不攻自破了(IMO)超过任何名义上的速度优势。对不起,你只能靠自己了。显然,在这里尽力提供帮助是不受鼓励的。祝你好运