Javascript 为什么可以';t浏览器可以像游戏引擎一样每秒多次完全渲染DOM,而不会影响性能?
我试图理解为什么浏览器很难像游戏引擎在画布上那样每秒多次完全渲染DOM。游戏引擎可以在每一帧执行许多计算,计算光线、阴影、物理等,并且仍然保持无缝的帧速率。 为什么浏览器不能这样做,允许每秒多次无缝地完全重新呈现DOM 我知道渲染DOM和渲染游戏场景是两个完全不同的任务,但我不明白为什么后者在性能方面要困难得多 请试着关注呈现DOM的特定方面,并解释为什么游戏引擎不会面临同样的问题。例如,“浏览器需要解析HTML,而游戏的所有代码都是预编译的,可以运行”Javascript 为什么可以';t浏览器可以像游戏引擎一样每秒多次完全渲染DOM,而不会影响性能?,javascript,performance,dom,game-engine,game-physics,Javascript,Performance,Dom,Game Engine,Game Physics,我试图理解为什么浏览器很难像游戏引擎在画布上那样每秒多次完全渲染DOM。游戏引擎可以在每一帧执行许多计算,计算光线、阴影、物理等,并且仍然保持无缝的帧速率。 为什么浏览器不能这样做,允许每秒多次无缝地完全重新呈现DOM 我知道渲染DOM和渲染游戏场景是两个完全不同的任务,但我不明白为什么后者在性能方面要困难得多 请试着关注呈现DOM的特定方面,并解释为什么游戏引擎不会面临同样的问题。例如,“浏览器需要解析HTML,而游戏的所有代码都是预编译的,可以运行” 编辑:我编辑了我的问题,因为它被标记为固
编辑:我编辑了我的问题,因为它被标记为固执己见。我在这里不是征求意见,只是征求事实。我在问为什么浏览器不能像游戏引擎渲染画布那样每秒60帧完全重新渲染DOM。我知道浏览器面临着一个更困难的任务,但我不明白确切的原因。请仅使用信息性答案,避免发表意见。一般来说,这取决于游戏。最强大的游戏是在C++或C引擎中开发的,所以它们直接与内存联系,并使用处理器的全部电源。
而不是基于DOM的网页,它们是通过JavaScript等解释语言编写的。此外,如果网页部署不正确或服务器速度较慢,则问题可能来自服务器。通常,这取决于游戏。最强大的游戏是在C++或C引擎中开发的,所以它们直接与内存联系,并使用处理器的全部电源。
而不是基于DOM的网页,它们是通过JavaScript等解释语言编写的。此外,如果部署的网页不正确或服务器速度较慢,则问题可能来自服务器。首先,网络游戏没有太多使用。他们用得更快。DOM是用来更改a上的内容的(这就是DOM中的D的意思),所以它非常不适合游戏 我那部蹩脚的手机怎么可能无缝地运行《使命召唤》,但却很难写出一个能在上面顺利运行的大网页呢 我从未遇到过DOM的性能问题。当然,如果您用一个
.innerHTML
作业每秒更新整个
60次,如果性能不好,我不会感到惊讶,因为浏览器需要:
- 从不使用
.innerHTML
使浏览器将HTML转换为DOM树,反之亦然。使用.innerHTML
和document.createElement()
.appendNode()
- 避免更改DOM。如果可能,只更改CSS样式
.innerHTML
作业每秒更新整个
60次,如果性能不好,我不会感到惊讶,因为浏览器需要:
- 从不使用
.innerHTML
使浏览器将HTML转换为DOM树,反之亦然。使用.innerHTML
和document.createElement()
.appendNode()
- 避免更改DOM。如果可能,只更改CSS样式