我应该在Javascript游戏引擎中使用DOM片段作为阴影DOM吗?
我正在为web创建一个名为Engine1的新游戏引擎。我目前已经制作了两个原型。到目前为止,我已经能够:我应该在Javascript游戏引擎中使用DOM片段作为阴影DOM吗?,javascript,html,performance,dom-events,Javascript,Html,Performance,Dom Events,我正在为web创建一个名为Engine1的新游戏引擎。我目前已经制作了两个原型。到目前为止,我已经能够: 使用画布映射精灵的透明像素 将事件绑定到精灵的不透明像素 用一套fps开发游戏运行时 在可变帧定时设置精灵动画 为元素移动设置动画,包括 名声所限 和基于帧的运动吐温 我对自己的进步感到满意,但我似乎对没有咨询DOM性能方面的专家而继续前进感到不安 当前,当创建一个元素时,它被附加到一个DOM片段中,我称之为“影子DOM”。此“影子DOM”的HTML的每一帧都会被复制并插入到页面主体(或当
有没有办法只将差异从“影子DOM”复制到浏览器主体?替换大的DOM块可能会很昂贵。通常,DOM是出现瓶颈的地方。最好跟踪您正在修改和更新DOM的哪些部分。您可以在更新时转换为DOM的单独数据结构中执行此操作,也可以像您所说的那样使用阴影DOM。如果更改单个很大,那么使用阴影DOM可能是一个好主意。如果它们很小(比如只更新文本值),那么使用单独类型的数据结构更有意义 无论哪种情况,您都需要第三个对象来跟踪更改
我很久以前写的。您可以使用它将DOM结构与域对象绑定在一起,让更新从任意一方传播到另一方。它会自动将事件附加到指定的位置(域中的键值路径和DOM中的html类名)。它可能正是您想要的,也可能不是您想要的,但也许您可以从中获得一些想法。这种阴影DOM技术让我想起了双缓冲。是吗?是的,我认为双缓冲是正确的术语。您可能应该知道,自从提出这个问题以来,术语shadowdom已经变成了一个真实的东西:。未来的读者可能希望得到建议,这个问题与本规范无关。有用的建议。谢谢我是我的场景,我必须期望游戏开发者在一帧一帧的基础上为他们创建的至少80%的元素制作动画。我想我应该坚持“替换一切”的方法。