取决于 词头的总数,目前我配置的是词头索引超过 384M 就不让继续往下加载了。
2000本有点夸张了,我做最大测试的时候用的是10本1G大小的mdx。
你先试试,不行加我好友一起看下。
![]()
我下载后试用(win10,64位),怎么到第2步设置“试着查一个词”,然后就不能继续往下走了(点击“继续”没有反应)
两千本是这么多年慢慢积攒起来的,就像这个帖子 Dicttango按词典所在文件夹自动分组的问题 里的这个群友说的,我估计好多人都有这么多:
Windows版DictTango目前加载两千本以上词典,即使单次查出的结果接近一千本也能瞬间加载,几乎没有卡顿,只是感觉界面操作起来不够轻量,相对比较占内存,还有一些程序本身的限制,提过几个建议,作者似乎也没有太多动力优化,不然真的就能替代GD了。
一直想找一个能替代GD查词体验的,又不依赖QT的程序(QT好多bug),您的程序基于rust,感觉性能应该没问题,操作也流畅,有希望做到。
感谢你描述的需求,mdx解析库是我综合了几个主流库以后重新开发的(GitHub - lonelam/mdictlib · GitHub),效率还是挺高的,2000本在当前的架构下稍作修改就可以加载(性能要求不是很高,大约是按磁盘读取速度 x 2这样,读完即加载完)。
但有几个问题可能我做初版的时候没考虑到,需要辛苦您帮忙描述一下您实际的使用情况:
- 老旧词典渲染。 我重点做了html解析,这也是目前论坛里绝大部分的词典的样式。但mdict以前曾经有过v1版本的词典,这种词典我尚未实现渲染,现在实际渲染的是原始文本,能看,但就是纯文本的样子。
- 安卓/苹果环境下难以实现批量导入。 iOS就别提了,根本不支持文件系统,只能一个文件一个文件发,然后存下来。 Android现在也逐渐不支持直接用全盘路径拿文件,改成按文件夹选择了,因此现在Android的默认行为也是导入。
- 2000本的规模下,索引很可能超过,384M,需要调整后增加缓存机制。 不然我猜每次重新启动的时候可能会等很久才能索引完成。
- 最新的UI有个侧边栏快速索引的功能,2000本的情况下放不下了,感觉得做2套UI。
这里应该也得改改,不然2000本好像靠滚动也不一定方便。
如我之前写的,查询/加载的速度其实和词典数量无关,和需要检索的词头数量强相关, 当前aalookup的做法是启动的时候读取所有词典并建立索引。因为是建立在内存中,所以不占用额外空间,并且预留了384M —— 大约可以存储 1.34亿到2.01亿个 中文字符。
但是2000本的情况应该包含了一些规模比较大的词典,我需要一些真实的词典进行参考,确定真正需要做的上限。
按你的提示,重新操作成功了。先谢谢。但我加入词库文件夹后,牛津和朗文句子前发音喇叭没有显示,新世纪词典的句子发音喇叭在句子后则可以正常显示。
感谢您的详细回复!所以做词典分组就有必要了,单独某个分组可能只放十几到几十部词典,顶多放几百部词典,这样导航起来就相对没那么多了(PS:忽然发现目前GD上我的汉语词典分组也有一千多部了。。) 不过话说回来,有时候还是存在想穷尽所有词典查词的情况,看看词典导航这一块的设计怎么改进比较方便吧。。。
我再次实验,没有出现放行的警告。所以,建议设置一个按钮强制启动本地mdx字典。谢谢。
![]()
尴尬,确实有这个问题,感谢反馈。
我给漏掉了。下版本修复。
200ms就别说mac端最快了,hmhtml冷启动也才30ms,查询时间也是远低于一帧时间。
瓶颈不在webview启动和单次查询的。
交互识别/预热Chromium系App的Accessibility text/OCR时长远大于词典内的时长。
词典内的性能也欢迎比较或提出建议。
应该解决了,感谢反馈。
我的OpenMDict在Apple silicon Mac上的速度都比这更快lol
好的我再试试,感谢更新!!
大佬,如果你的程序在 iOS 上 重大更新的话,麻烦说一声。目前这几版是无法使用的,因为你首先要点开一个链接,要配对一个码,这在 iOS 上根本就无法进行,因为你点那个链接就点不开。在最早一版的时候,你是通过信箱,那个时候我还可以进入,只是那个时候不能导入词典。 现在可以导入词典了吗?在iOS上。 谢谢。
大佬在iOS上能不能换种方式展示词典?你这种方式应该在iPad或者电脑上有很大的空间的时候,可能比较方便使用。 在iOS上 你现在是每个词典每次点一个词 都打开一个tab,然后用久了话就一大堆tab在里面堆着,然后你很难找到你要去的词典。当你有很多tab的时候。 而且每次查词都要点两次,第一次先进入一个列表,然后在列表里面选一个再点进去,这样词典之间切换就非常麻烦。 如果像传统那样,你就滑动就可以切换到其他词典。分享查词也是,分享之后打开词典,展示的是一个列表,然后需要再点一次才能看见结果。要传统的话,分享过去就很多词典的结果都出来了,一目了然。 谢谢。
你好,辛苦了,iOS版本正在做了,即将解决。 ![]()







