2.06测试版

beta4已改进算法

beta4已增加长效缓存列表

beta4已增加高级设置项

是的,beta2已修复

beta4已修复

beta4改出问题了,以前长效bug一样疯狂读盘爆掉硬盘性能活动时间的问题又出来了(这个问题在1.96已经修复过了的),现在beta4长效读取命中率哗哗的掉,看了下分块只有64K,SSD的性能都快被beta4脱爆了,需要改回去2.05那样子的

能不能把长效算法改回去,beta4这版根本没法用长效上传,要的只是和BT任务那样超内存缓存容量后和BT那样直接去读硬盘,而且超内存后读的时候按照1M读吧,64K太折磨了

界面最大值的滚动能够设置的值现在是4,需要同步改成64M允许设置的最低值?不过我看高级设置piece_cache_min_size_mb的最小值也是4,那界面保持现状为4也可以

就是说算法换回去 1.96那样,一次性取16MB区块,防止随机读取磁盘
内存使用上限后,才1MB直接去读硬盘,不走内存缓存

如果长效上传不好做的话,,,那就保持2.05现状别改了

长效做种一次性取16MB区块的问题,在于如果种子文件里的piece分块大小不到16MB,那么部分数据就白读了,放在cache里不会被命中,而下一个请求的piece分块会读取另一个16MB,造成读盘速度大于上传速度。

cache容量达到上限后,会抛弃最早读取的cache分块。读盘速度大于上传速度的现象,理论上和cache容量是否达到上限没有直接关系。

单次读取的数据长度,beta4是按照实际请求长度读取磁盘的,一般不会超过1个piece分块的长度,但最小是1MB。64K只是cache分块长度,不是读取的长度。如果单次读取长度改回16MB,对于piece长度小于16MB的任务,长效做种还是会出现读盘速度大于上传速度的现象。

这个选择是控制BT和长效的最小磁盘缓存大小吗?

希望增加可以控制磁盘写缓冲区大小上限的选项
目前已经有了
ui.disk_writing_buffer_warning
ui.disk_writing_buffer_warning_size_mb
可以控制是否显示缓冲区过大的警告及其允许的大小

希望可以增加一个选项: 当磁盘写缓冲区大小超过警报值后控制缓冲区大小

现在似乎只能通过设置磁盘缓存选项中的 “减小缓存当空闲物理内存低于” 的选项控制总内存使用大小
以防止写缓冲区占用过多内存


通知和图标方面有修改计划吗?


吧友求助 红米k60手机比特彗星闪退 红米k60手机比特彗星闪退_比特彗星吧_百度贴吧

彗星挂后台就杀后台,省电策划也选无限制,后台也锁了
不起效果

似乎还会弹错 Invalid URL port: “O”


吧友求助 比特彗星评论显示兼容性问题 比特彗星评论显示兼容性问题_比特彗星吧_百度贴吧

评论区的 webview2 显示 兼容错误
已知这种问题会发生在edge浏览器 使用网上针对edge浏览器的修复方法修改注册表后似乎没有效果
edge浏览器访问网页似乎是正常的

不存在你说的问题,2.05命中率可以稳定99%,磁盘基本处于空闲,只有长效下载的人连接数太多的时候如果缓存达到例如设置24G上限后才会出现一些读盘比读取大的情况

2.06bate4,读取命中率基本为0%,SSD磁盘一直被拉满

需要回滚bate4的此代码,不要动长效了,2.05版本已经接近完美了

同一个peer情况,长效客户端下载速度永远比不过BT传输,可能也是这个问题,客户端发起的区块太小了,导致给长效服务端带来太大的压力

我觉得内存是拿来用的,最要紧的是解决自动限速导致界面卡顿无响应的问题,如果手动设置大小,就失去了现有的根据不同电脑配置智能化动态调整占用了
先把自动限速时候引起界面卡顿的问题修复了,然后看看效果在看要不要做大小控制

要控制写缓冲区大小,只能自动强加一个临时的下载限速了。写缓冲区的数据不是cache,必须要写进磁盘,直接丢弃会造成磁盘上的数据不完整。

等有空找找合适的图标素材。

现在有3种通知方式:内置通知栏、Win10/11通知中心、右下角任务栏托盘。
通知的事件包括:任务完成、磁盘满、内存不足、磁盘写缓存过大、推荐使用64位版本、远程下载操作提示、磁盘加速服务提示、Windows防火墙提示等。
有可能需要设置一个统一的配置界面来进行设置。

可能是特定机型才出现的问题,其他手机测试很难重现

查了一下,可以试试这个链接里的方法: 【彻底解决】Chrome/Edge都出现了的"STATUS_INALID_IMAGE_HASH"错误 - 知乎 (zhihu.com)

我再多试试

客户端发起的请求长度通常与BT任务的piece长度一致

这样的话只能是控制下载速度了
不过现在控制下载速度似乎会造成UI界面卡顿?


其实 Windows 自带的图标就可以

信息类通知 使用win自带的蓝色信息图标

任务完成
远程下载操作提示
推荐使用64位

警告类通知 使用使用win自带的黄色感叹号图标

写缓存过大
磁盘加速服务提示
Windows防火墙提示

错误类通知 使用使用win自带的红色错误号图标

内存不足
磁盘满

可以添加到 选项>服务 中
现有的选项为 “允许弹出bitcomet消息窗口”
新的通知控制选项 可以放在这里


直接删应该是不行的 重启后还会有
这个是行为监控程序造成的 应该可以用特殊的软件进行删除
http://images.newsmth.net/nForum/#!article/WindowsTech/44329

可以试试删除 winhafnt64.dll 文件后,创建一个同名的子目录,就不太容易重新创建此文件了

难道你之前以为写缓存是可以随便丢弃的。。。所以才说是设置上限大小

1.97测试版就反馈过,模拟自动限速可以百分百复现界面卡顿现象,至今还没修

触发自动限速后比特彗星整个界面刷新会很卡,大概3-5秒刷新一次,整个界面甚至容易无响应,期间无CPU占用

缓存命中率和真实读盘次数数据又不会假,2.05版的长效上传是完美的
这个bate4版本真的不行

想要的是在长效上传里面也引入这个,避免上限值超过后带来的相同问题
核心改进:磁盘缓存达到上限后,分配读缓存失败时,仅按上传请求大小读取数据,不再从磁盘一次性读取整个分块数据

等吧友回复了后让他试一下 不过这种监控软件可能有防破坏机制

当然不是
现在的问题是当磁盘写能力不足时将下载内容持续写入内存
似乎要到空闲物理内存小于磁盘缓存设置中减小缓存选项时才会触发限速
同时伴随严重的界面卡顿

现在已经有了
ui.disk_writing_buffer_warning
ui.disk_writing_buffer_warning_size_mb

可以再增加一个选项即当达到警报值的时候执行自动限速
这样的目的是触发限速防止占用大量内存而不是丢弃已经下载的内容

现在的情况看上去更像是为了维持下载速度 而不停的将下载的内容写入内存

自动限速时所限制的下载速度 应略小于磁盘的随机写入能力

这样即可在不停止任务的情况下使得下载内容及时写入磁盘而不是堆积在内存中

这种情况较多的发生在较大内存用户身上 如16g 32g 内存
这可能是因为 磁盘缓存中 减小缓存这一项设置较小有关系
导致触发减小缓存时 已经占用了很多内存

所以应该设置专门的选项来触发限速
而不是使用磁盘缓存设置中的 减小缓存选项

一般而言,下載過程中多半不會花時間特別盯著看,這些訊息通常是事後檢查才會留意到的。建議根據硬體資源起伏, 透過彗星智能調整速度限制, 可提醒觸發事件即可…

image

用了一天2.06,對比2.05,速度到了18M會比較易硬盤高彪,就所謂暫停沒2.05卡那麼久而已。

倒是提個建議,下載完成後,提示音,有問題
提示下載完成後,我移動文件提示正在使用,因為下載完會上傳一下(設置下載完不上傳)
所以其實還沒完成,所以提示音要下載上傳完成才提示才對

2.06bate3开始改成了超内存去真实读盘,你可以观察下流量图读写情况对比看看?是否上传速率和读取 速率差距还会很大
如果用的bate4目前版本有bug,长效上传不走缓存,会导致SSD性能爆掉引起读盘暴增,用bate4的话需要把长效种子开关关闭

image
五天没新版了,修复长效的beta5还没来吗

beta5已发布,欢迎试用

disk_writing_buffer_warning
这些选项被取消了吗?

不过试了下还是可以正常通知的,多次触发也能正常多次通知成功
测试发现是阶段限速 还可以,而且在内存未用尽时候界面不会卡顿了
image

image

image

image

image

话说上面这个通知框不能实时显示通知吗,要关闭在打开才能看到新通知

最后就是限制到1KB/s

取消磁盘io限制后,速率成功自动恢复

实测效果不错,起到了 @ie12 说的达到多大写缓存后的自动执行下载限速的效果

测试把内存用尽产生的触发自动限速,界面依旧会卡顿无响应,5到6秒无响应,可以用9999来模拟内存用尽,如果64G内存由于数值只能设置到9999,可以通过虚拟机方式分配较少内存的Windows来测试
image

不过内存用尽的限速界面卡顿,尝试把bittorrent.cache.piece_cache_min_size_mb 改成1024后就不卡了,,估计是其他原因,具体要你复现一下,来找问题了


Beta5 的长效上传缓存正常了,恢复和2.05版一样的高性能,没有出现爆掉SSD活动时间的现象了

虽然超缓存后读盘的速率问题虽然还没解决,但是我觉得已经可以了,至少和2.05性能一样了
长效上传做不到和beta3的bt任务优化那样吗?内存超上限后去真实读盘不经过内存