我正在使用 Canvas 实现 HTML5 游戏。现在我正在考虑使用在 Canvas 上具有绝对位置的 HTML 元素来制作所有文本叠加层,如工具提示、语音气泡、信息窗口等。所以我可以使用 CSS3 提供的许多效果和过渡。
但我不确定性能。必须频繁地添加和删除这些叠加层(类似于 MMORPG,因此会有很多语音气泡等)。
关于性能大概有2个问题:
DOM 遍历以添加/删除。也许缓存可以提供帮助?
HTML 和 CSS3 本身。
另一种选择是在 Canvas 本身中管理这些元素,在每一帧绘制它们。但也许我会再次受到性能损失,因为我必须添加额外的代码、超时和其他东西,才能实现与 CSS3 中类似的效果。并且无论如何都需要遍历某些数据结构。
有什么建议、意见、经验吗?
提前致谢。
最佳答案
考虑仅使用上述两种技术中的一种。也许您可以在手机或平板电脑上发布该应用程序。我认为在这些设备上同时处理两者会出现问题。还有一件事:如果你留在 Canvas 上,就不用担心兼容性问题。这不是一个技巧性的,而是一个发人深省的答案。
关于html - 混合 Canvas 和 CSS3 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064821/