SVG 图形对于具有谷歌地图风格界面的浏览器内游戏来说是可行的选择吗?这将涉及放大/缩小以及在二维中滚动很长的距离。
例如,客户端可能请求从服务器绘制某个区域,而不是服务器返回该部分的生成图像,而是返回一系列 gzip 压缩的 SVG 图像及其在请求区域中的位置。然后,用户可以放大和缩小,而无需从服务器获取新的“图块”,因为 SVG 是可扩展的。
这会比生成 png 或 jpeg 并发回图块更好吗?如果有很多客户到处请求图像,它会表现良好吗?它在客户端上表现良好吗?这种方法有什么缺点?
以我的经验来看。缺点是使用 SVG 可实现的细节级别低于 jpeg 和 png 等有损图像压缩。我很难让所有矢量图形彼此很好地配合。如果您的艺术家习惯于使用 SVG 进行工作,那么这可能不是问题。另一个注意事项是 SVG 浏览器之间的兼容性可能很大。例如,我不确定哪些浏览器支持 SVG。Webkit 可以,而且我认为 Firefox 也可以,但可以这么说,我相当确定 IE 不包括在内。
总体而言,SVG 对客户端计算机的要求更高,对服务器的要求更低。计算数百个 SVG 图像比排列 PNG 的工作量要大得多。
实际上取决于你的游戏。如果你正在写国际象棋,它可能会工作得很好。如果你想实时做一些更复杂的事情(例如二维横向卷轴游戏),我不知道。
以Raephael 中的 SVG 时钟为例。我在 Windows 上运行 Chrome,并且定期出现不同的栏“抽搐”和“重置一秒钟”
我刚刚看到这个第一人称 SVG 演示所以它可以完成。