|
BUG1:加入图片 这个命令,会出现数量达到某个级别,耗时指数级提升.
一模一样的图片,加入74-80次,每次加入耗时本来是0毫秒左右,超过74-80,立马变成100多毫秒.
如果无视耗时,继续加入图片,到达160个图片数左右,耗时会继续变高.最终加一个图片都能达到几十秒加入一张,这也就几百张图片数.
BUG2:加入图片 的支持库备注可以看到,加入失败,返回-1,否则返回 0 或者 在图片组中的索引,经过测试,这个返回值也是假的.真正判断加入图片命令是否成功的办法是:取图片组图片数().
加入前记录一次,然后 加入图片 执行完,再记录一次,两次数字相同,结果为真正的加入失败,无视返回值的索引即可.
BUG3:命令写的是,如果图片过大过小,会缩放后加入,实际测试,你只会加入失败,需要自己缩放图片大小为标准宽高
那我还是想用超级列表框大小图片显示怎么办?
优化1:假设10000张图片,采取这样的办法,
每一次加入都要取图片组图片数,来判断是否真的就加入成功.加入失败,可以再加入一次或者加入错误图标来代替数据
加入图片到70张,把图片组字节集 加入成员,放进全局变量 字节集数组中,然后重新 建空图片组()
每70次就加入一次,这样速度很快.
全部加入完成,我们就获得了一个143个成员的字节集数组.
随后使用 合成图片组 这个命令, 把字节集数组[142]和字节集数组[143]合成,得到的字节集,赋值给字节集数组[142],然后删除成员143
依次使用,最终的到一个成员数为1的字节集数组,然后这个就是真正的图片数量达到1万的图片组字节集数据了.
优化2:合并图片组 图片数量越多,合成越慢,但也比你正经的加入图片快太多了,而依次合成142次就很呆
如果我们使用多线程,开启十个现场.每个线程取1000张图片,同时往字节集数组添加,加入图片基本一两秒内就全部加入完成
随后10个线程,每个线程都获取字节集数组的下标对应,同时合并,按照两两合成的速度,也可以在几秒之内,快速合并成功
随后我们就得到了正确的图片组字节集.
很多人都没觉得易语言自带的库还能有这种BUG,估计也和我一样疑惑的不行,最终写了这个帖子.
|
|