枫谷剑仙

Results 110 comments of 枫谷剑仙

### 增量更新形式 更新的画廊,是会生成一个新文件夹的 #### 示例A: ![Strip 5](https://user-images.githubusercontent.com/6565860/206376626-0b9ac2fe-5751-4409-92f8-bef1648e0b04.png) 在末尾新增图片,`.ehviewer`差异仅为头部和末尾的新增图片 ![1670479732835_BCompare](https://user-images.githubusercontent.com/6565860/206376653-a19c1a22-ba42-4000-aa4c-19d991523bce.png) #### 示例B: ![Strip 6](https://user-images.githubusercontent.com/6565860/206376627-1a7911f9-1769-4ac1-b153-eb5ca02e1ba5.png) 在头部新增图片,`.ehviewer`差异除了头部,后面的图片序号全部变化 ![Strip 1](https://user-images.githubusercontent.com/6565860/206376615-a1441f59-3b19-4633-8731-ae7085b8c6d4.png) #### 重新排序 编辑画廊时是可以进行排序的。有些人最开始上传的时候没有注意顺序,上传的是乱的。后来只是重新编辑了文件顺序,会导致所有图片的序号改变但是文件不变。 这种只能以 hash 一一对应到新的序号。 ### 关于压缩包储存 不知道你们考虑压缩包储存的原因,我个人反对以压缩包存储。 本身jpg(有损)、png(无损)都是已经压缩过的,再压一遍不能节约空间,反而会造成严重的性能问题。 很多时候并不是一张一张慢慢阅读漫画,而是飞快的不断点击下一张CG直到贤者模式。性能问题会造成很大的阻碍。 但是我赞成以官方的 Arichive Download...

> 用压缩包管理是出于适配Android 上fuse文件系统考虑 如果像以往那样一堆图片文件直接放文件系统里的访问效率 在CPU 性能足够的情况下 是不如将一整个文件mmap到内存再直接解压快的 在有fuse passthrough的情况下 对这块内存映射的访问与直接访问ext4/f2fs下文件的内存映射效率是差不多的 确实压缩率不会太高,所以我考虑不压缩而是直接进行归档处理 还有现在是可以边看边下,看一张自动下载一张的,直接拉到后面,会发现文件夹里直接出现后面的文件。如果用压缩包储存,要怎么实现? 就算是归档,如何解决使用其他阅读器直接看的问题。毕竟看漫画时其他专业漫画阅读器使用体验可以更方便。

> > > 用压缩包管理是出于适配Android 上fuse文件系统考虑 如果像以往那样一堆图片文件直接放文件系统里的访问效率 在CPU 性能足够的情况下 是不如将一整个文件mmap到内存再直接解压快的 在有fuse passthrough的情况下 对这块内存映射的访问与直接访问ext4/f2fs下文件的内存映射效率是差不多的 确实压缩率不会太高,所以我考虑不压缩而是直接进行归档处理 > > > > > > 还有现在是可以边看边下,看一张自动下载一张的,直接拉到后面,会发现文件夹里直接出现后面的文件。如果用压缩包储存,要怎么实现? > > 就算是归档,如何解决使用其他阅读器直接看的问题。毕竟看漫画时其他专业漫画阅读器使用体验可以更方便。 > > 大部分漫画阅读器都支持cbz归档 正如我前面提到,我是使用外置SD卡来储存,并可能在Windows上读卡直接看内容的。还是希望留一个保留图片文件的 fallback

> 先下载到缓存 等全下完再一起压 > > > > > 还有现在是可以边看边下,看一张自动下载一张的,直接拉到后面,会发现文件夹里直接出现后面的文件。如果用压缩包储存,要怎么实现? > > 不知道你说的先下载到缓存是专门的cache还是原来的下载路径。这么多年积累,我有几百没下载完的画廊,文件夹里都是部分图片,哪怕换了手机我随时可以续传。如果下载到专门的cache没下载完不就浪费了吗。

> > 那也行 像tachiyomi那样做一个开关 不过默认开启 > 不过对于非压缩包式读取我不会再提供任何效率优化了 以目前的需求来看,就只是缺一个增量更新。

> > > 先下载到缓存 等全下完再一起压 > > > > 还有现在是可以边看边下,看一张自动下载一张的,直接拉到后面,会发现文件夹里直接出现后面的文件。如果用压缩包储存,要怎么实现? > > > > 不知道你说的先下载到缓存是专门的cache还是原来的下载路径。这么多年积累,我有几百没下载完的画廊,文件夹里都是部分图片,哪怕换了手机我随时可以续传。如果下载到专门的cache没下载完不就浪费了吗。 > > 不过事实也是libarchive 这个库不支持对压缩包的修改 只能重新创建 所以没法做到断点续传这种功能 至于最后怎么实现我再考虑 只是为了速度何必用压缩库,直接自己把所有文件连接成一个二进制文件,新增的直接在后面增加,单独存一个json储存页码图片的二进制偏移。

> > 不过像你说的 这样别的漫画阅读器就不能读取了 > cbz这个标准是通用的 用别的漫画阅读器我选择直接用非压缩图片文件,这样能保持最大兼容性。每个文件夹对应一个漫画。 如果你用压缩包储存,还得把压缩包移到父文件夹去,不然其他漫画阅读器不能直接访问下一个作品吧。

> 综上cbz还是最好的解决方案 除了要实现增量更新代价会相对大一点 电脑上我用7-zip的时候,往zip里新增文件挺快的。往里面加了一个文件,发现二进制也只是有部分内容改变。是不是该重新找一个库。 ![1670489732603_BCompare](https://user-images.githubusercontent.com/6565860/206402648-94b82003-8075-4777-ac72-9582f9b819f3.png)

> 不会考虑使用7zip 因为个人因素 考虑到大多数场景还是一次性下载完 所以libarchive 并没有太大问题 增量更新到时候我做一些小trick吧 下载50页的可能一次下完,但是下载Manga、Game CG因为比较多,经常有几张到几百张下载失败的。 如果使用的官方归档下载才可能确保一次性下载完。

> 不会考虑使用7zip 因为个人因素 考虑到大多数场景还是一次性下载完 所以libarchive 并没有太大问题 增量更新到时候我做一些小trick吧 zip库除了 7zip、libarchive 应该还有其他的吧。 如果只是归档不涉及到压缩算法,你甚至可以了解一下zip格式自己手写一个zip结构体。