【发布时间】:2011-05-13 19:02:06
【问题描述】:
我正在构建数据可视化,渲染性能至关重要。我的问题与标准 HTML 相关,尽管我碰巧使用 SVG 和 JavaScript。
好的,假设场景:假设我有 10,000 个 DOM 节点,其中 background-color 为“red”,以及 10,000 个 DOM 节点,background-color 为“green”。每个节点都是由一个 JavaScript 循环创建的。我可以:
- 在每个节点上设置
style属性,指定节点的background-color:<element style="background-color:red;"/> -
在每个节点上设置
class属性,然后以内联样式或外部样式表引用该类:<head><style>.foo {background-color:red;}</style></head><body><element class="foo"/></body>
下载代码的性能在这里并不重要——我只对浏览器的渲染性能感兴趣。我也很清楚,样式属性在日常网站开发中通常不是那么有用或语义化,但我在这里有一个特定的用例。
我我对合乎逻辑的答案感兴趣,但听听任何人实际测试过这个或阅读过其他人的测试真的很有用(我已经搜索过信息,但没有找到具体的关于这个)。
感谢您的帮助!
【问题讨论】:
-
你为什么不做你自己的基准测试?我怀疑不同浏览器之间的性能会有很大差异......
-
我认为这是一个非常具体的案例,在不同的浏览器中自己进行基准测试要容易得多。我敢打赌,它不会有太大差异,但谁知道呢。
-
我的猜测是
style解决方案运行速度最快,但我会做一个真实世界的基准测试来找出答案。应该不会太难做,只需要创建 10,000 个模拟对象 -
是的,很公平 - 我会对其进行基准测试。仍然对偶然发现其他人的想法或研究感到好奇。
标签: html css performance browser svg