2

我使用pywebkithtml5来开发桌面地图服务器

地图瓦片存储在sqlite 数据库中。

所以当我设置html img的src时,我有两个选择。

  1. 一种是从数据库中读取图像并对其进行b64encode,然后将img的src设置为“ data:image/png;base64,b64Encoder-string ”。

  2. 另一种是从数据库中读取图像并将其保存在磁盘上,然后将带有 url 的 img 的 src 设置为本地文件夹

我的问题是哪种方式更好

我最关心渲染速度。浏览器渲染图像哪一个更快

4

2 回答 2

5

<img src="http://mysite.com/images/myimage.jpg" />这实际上是一个http URI方案,<img src="data:image/png;base64,efT....." />而是一个data URI,这种方式图像被内联在 HTML 中并且没有额外的 HTTP 请求,但是在大多数情况下,嵌入的图像不能在不同的页面加载之间缓存,所以解决方案实际上是按照你的方式进行的。 ..什么对你更好并且方便忽略伊恩的建议:)

现在转到浏览器兼容性-

数据 URI 在 IE 5-7 中不起作用,但在 IE 8 中受支持。来源

页面大小

base64 编码也会增加页面大小,这是另一件事。

于 2013-05-20T04:08:25.147 回答
1

这在很大程度上取决于应用程序将如何运行,以及其他细节,例如运行环境。

将图像保存到磁盘的优点是您可以避免每次需要时重新编码图像(可以通过在数据库中添加带有计算的 base-64 字符串的列来避免这种情况)。

摘要: 1-使用第一个选项,但将其缓存在数据库或服务器变量中。2-使用第二个选项并缓存文件名。

但是还有一个问题是您的二级存储有多快。您可能希望避免使用 HD,即使有缓存也是如此,因为它很慢,或者您的二进制存储空间有限(并且有更多的 DB 存储空间)。

我建议您添加有关您担心的细节。

于 2013-05-20T04:09:19.453 回答