![]() |
1
for8ever 129 天前
有区别,base64 可以减少 HTTP 请求,对于小图片用 base64 更好
|
![]() |
2
loading 129 天前
base64 就是要等 html 全部下载完才渲染(?)
我觉得你应该看看 雪碧图 |
![]() |
3
opengps 129 天前
网络连接数可能占用更少,但 cpu 占用会更多
|
4
matepi 129 天前
浏览器也是能并发连接的啊
|
5
okakuyang 129 天前
什么场景这么极端
|
![]() |
7
uasier 129 天前
合理操作应该是雪碧图
|
![]() |
8
uasier 129 天前
同时也可以看看是否需要懒加载
|
![]() |
9
retrocode 129 天前
网页的话还是建议图片形式, 好歹可以懒加载, 图片转 base64 后体积会变大, 你还是要等数据加载完才能渲染,而且更慢
转 base64 只适合散碎图片,如图标之类的, 整合成一个文件加快加载速度, 如果是本地页面的话, 你想骚套路也不是不可以,随便搞, 还能方便加密混淆 |
10
mxT52CRuqR6o5 129 天前
3000 个图片传统方案是雪碧图 /fonticon ,对业务代码有一定入侵
|
![]() |
11
churchill 129 天前
看到 雪碧图 这个翻译忍不住要吐槽
|
![]() |
12
zephyru 129 天前
一个可视区内为例,3000 张一个可视区,用 base64 大概是,先等所有图片下载完再展示(我就当你是嵌在 html 里了)
相对路径则是先展示轮廓再展示,浏览器并发,不同浏览器不一样通常是 6 ~ 8 个,所以 3000 张同屏怎么也会有先后顺序 你要全部加载完哪个更快?主要看设备,通常来说,一个大文件会比 3000 个小文件快,取决于大小差异和实际使用的 http 协议,用 http3.0 的话,小文件估计会快一点,1.0 大文件会快一点。 个人建议,用相对路径,需要一次性展示的话自己控制图片的加载完再展示,而不是使用 base64 这样完全不可控。 一个可视区放不下的情况,比如滚动加载,就别 base64 了,没啥意义。 |
![]() |
13
IvanLi127 129 天前 via Android
3000 个图片。。要不 http/2.0 ?
|
![]() |
14
Huelse 129 天前
如果图片要更新的话不如懒加载,看那些壁纸站也是这么做的
|
![]() |
15
unt OP 是 3000 张相同的图片,可以认为是图标, 我说的有歧义,骚瑞~
|
![]() |
16
Morii 129 天前
3000 是每次固定还是随机?
|
17
tigaDark 129 天前
1.一个页面放下了 3000 个图片,也无法全部显示
|
18
tigaDark 129 天前
2.静态资源+相对路径 用的是 http 获取图片
3.base64 则是用类似字符码? 直接显示在页面上 4.浏览器的 http 并发请求大概是 8-10 条 5.性能得看你的电脑配置,图片大小 综合看... |
![]() |
20
Alander 129 天前
一个页面放得下 3000 个图片?如果放不下就懒加载随便怎么选;如果放得下 http1.1 就用雪碧图吧
|
![]() |
21
laqow 129 天前
感觉看引擎和硬件渲染。另外渲染 css 背景,img 标签,或者 appendChild Image 对象的性能应该都不同
|
![]() |
22
daoqiongsi1101 129 天前
@for8ever 用 http/2 协议就没你说的这个问题
|
![]() |
23
cleveryun 129 天前 via Android
@unt 3000 个相同图片的话,那必然是用 http 地址比 base64 好,而且好太多了,3000 个一样的 http 地址,你只为图片浪费了 2k 带宽,3000 个 base64 你需要 3k x 3000 =9000k 带宽。你审查下用 base64 的 img 标签,内容是直接塞进 html 里的,有几个就是几倍的大小。
|
![]() |
24
janus77 129 天前
肯定不是一个屏幕几千张啊。用懒加载就行了,一个屏幕最多也就一百张左右
|
25
superares 128 天前 via iPhone
可以看下 Google 的图片搜索,前面两排左右的结果是 base64 ,后面的就是图片地址了。base64 就是为了快速出图片,但是不适合大量图片
|