Closed yanhuacuo closed 9 months ago
SHA256: e4aa827328c384c0f14cb49f1bc1d028fed439fe073cf11a52f3f8ff4fc46f0d
最新本地编译版本的 rime.dll
显卡驱动怎么会影响到 rime.dll 的加载呢?
另外,有一个有意思的地方:似乎,它( 算法服务加载 rime.dll )并非是因崩溃而退,而是基于某种条件而退出。
我写了一个辅助工具,每隔 2 秒就检测一下算法服务进程是否存在,如果不存在,就强行唤醒它。在这样的机制下,就可以一直正常使用。
但是如果解除了这种【进程守护】,切【隔一会儿不用】,rime.dll 好像就又睡死了,叫不醒了。
确认是 weasel 的问题
首先,我的配置文件没有任何问题,也没有冲突或错误,甚至连警告日志都不会出现,一直使用正常
在使用 https://github.com/rime/librime/releases/tag/latest 下发布的 vs 版 rime.dll 时,遇到了无法加载的问题。
于是,我重做了一下系统后,正常了。我以为,这可能是我电脑出了故障。
因为是重做的系统,它的驱动是很陈旧的,于是在更新了下面这版驱动后,较新的 rime.dll 又出现加载故障了:
https://downloadmirror.intel.com/814237/gfx_win_101.5186_101.5234.exe
这太神奇了,我感到不可思议,我想,是不是 CI 的编译环境引起的,于是就用本地的 Visual Studio 2022 编译了一下:
编译过程无报错,而且使用 rime_console.exe 也能调起 rime.dll 正常生成二进制词典,编译 yaml 文件。
使用 vs 依赖检测工具查看它的依赖,本地环境完全满足:
我觉得,它应当是正常的,于是我放到小狼毫(官网公开版本)里试用,发现算法服务不能正常唤起它。 但是,明明刚才使用 rime_console.exe 是可以正常调用它编译 yaml 文件的啊?
反复尝试,发现它总是在生成如下日志后退出
我就清空了【用户目录】下的【build】文件夹,从【小狼毫输入法设定】处做变动,发现 【build】文件夹下的 bin 词典都能正常生成,但是算法服务在生成它们后,就退出了。日志,亦如上。
更早的版本 rime.dll 则是正常的,不过它多了一个依赖项「ole32.dll」:
再次重做系统,一切问题消失,直到我再次尝试升级 intel 显卡驱动
https://downloadmirror.intel.com/814237/gfx_win_101.5186_101.5234.exe
最新本地编译的 rime.dll 又不能用了。
这真是令人费解啊。