From 7c499dcd7960862894619edfb5d02c35439c5d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=8D=E5=85=AE=E6=83=9A=E5=85=AE?= <101191390+HIllya51@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:13:03 +0800 Subject: [PATCH] docs --- docs/zh/hooksettings.md | 76 +++++++++++++++++++++++++++++++++++++++++ docs/zh/mangaocr.md | 2 +- docs/zh/ocrparam.md | 2 +- docs/zh/qa1.md | 2 +- docs/zh/qa2.md | 2 +- docs/zh/qa4.md | 2 +- docs/zh/sidebar.md | 17 ++++----- docs/zh/windowsocr.md | 4 +-- 8 files changed, 92 insertions(+), 15 deletions(-) create mode 100644 docs/zh/hooksettings.md diff --git a/docs/zh/hooksettings.md b/docs/zh/hooksettings.md new file mode 100644 index 00000000..bc14bde6 --- /dev/null +++ b/docs/zh/hooksettings.md @@ -0,0 +1,76 @@ +## HOOK设置的参数含义 + +**1. 代码页** + +?> 这一设置当且仅当从游戏中提取的文本是**HOOK引擎内部未指定编码**的**多字节字符串**时才有意义,当HOOK引擎内部已经指定了代码页,或者文本是**宽字符字符串**或者**UTF32**字符串时,这一设置没有任何意义 + +这一设置一般没有修改的必要,当且仅当部分古老引擎(例如Yuris)的官方中文版可能会有GBK/BIG5/UTF8。如果找不到正确的文本,直接向我发[issue](https://lunatranslator.xyz/Resource/game_support),修改这个设置通常是徒劳的。 + +**2. 移除非选定hook** + +当已经选定了某个游戏的hook,其他的文本通常可以被舍弃,这时可以选择打开这个选择。但这个选项会导致一些问题: + + 1、如果中间发现选中的文本由缺失,将无法再更改其他文本条目; + 2、当文本线程的上下文是动态的,无法自动选中之前选择的文本,这个选项会导致所有的文本都被舍弃 + +因此,这个选项是不推荐使用的 + +**3. 过滤反复刷新的句子** + +HOOK引擎内部实现的一个简易文本过滤器。这个过滤器在文本疯狂反复刷新的情况下可以稍微提高性能,但一般也是不推荐使用的,因为其中的规则太过于简陋了,有时可能会导致破坏真正的重复模式。 + + +**4. 刷新延迟** + +?> 相对来说,这个算是最实用的选项了 + +如果你面临以下情况之一: + + 1、文本每次就提取出一两个字; + 2、文本每次提取出一行,然后把上一行顶掉,最后只显示最后一行; + 3、文本正确,但是提取的好慢; + +那么你需要调整这个选项。 + +对于**1、2**两种情况,因为游戏文本显示的太慢了,而刷新延迟太低,导致每提取到一两个字、或者提取到一行文本,就立即刷新出来了。对此,你需要做的是,**提高刷新延迟**,或者提高游戏的文显示速度。 + +对于**3**,你可以**适当的降低刷新延迟**,降低值的同时注意不要出现**1、2**的情况。 + + +**5. 最大缓冲区长度** + +有时,文本会反复的不停刷新,这时,如果刷新延迟较高且不能降低,会导致一直接收文本直到文本填满缓冲区、或不再刷新以满足刷新延迟(通常是游戏失去焦点时才停止刷新,因此一般是等到填满缓冲区)。 + +为了解决这个问题,可以适当降低缓冲区长度,且要注意不要使缓冲区长度过低到小于实际文本长度。 + + + +**6. 最大缓存文本长度** + +接收到的历史文本会被缓存下来,当在文本选择窗口中,查看某条文本的内容时,会查询历史缓存文本。如果文本条目过多,或因文本反复刷新,会导致缓存的文本过多,查看文本时会变得较为卡顿(有时甚至不查看时也会卡顿)。实际上这里缓存的大部分都是无用文本,有用的历史文本可以在历史翻译里面查看,可以将这个数值随意调低(默认是1000000,但其实调到1000就行)。 + + +**7. 过滤包含乱码的文本行** + +文本处理中的过滤乱码只会过滤掉其中的乱码字符,而这个过滤会在接收到文本时,如果检查到文本行中包含任意乱码字符,会将整行文本直接整个舍弃。当游戏刷新大量包含乱码的句子时,可以适当使用这个选项,来筛选掉无效句子,提高性能。 + + +**8. 使用YAPI注入** + +这个选项有时可以稍微提高一下舒适度,但可能有兼容性问题,因此不推荐使用。 + + +
+ 具体解释 +向游戏注入Dll时,一般注入Dll的进程和被注入Dll的进程需要有相同的位数。 + +为解决这个问题,Luna一般通过shareddllproxy32和shareddllproxy64来分别向不同位数的游戏来注入Dll。 + +但这个代理进程运行时,可能会被杀毒软件拦截一会儿,导致卡顿、或运行失败要重新再次运行。这时,可以用YAPI来直接使用Luna的主进程来进行Dll注入。 + +YAPI中如果游戏进程和Luna进程的位数相同,则会正常注入;若位数不同,则会使用一段特殊的shellcode来实现注入。这也是LunaHost32.dll更容易被杀软查杀的一个原因。 + +使用YAPI注入相对来说会更加流畅一丢丢。不过在Arm平板上使用时,可能会不兼容。 + +当Luna运行在低权限,而游戏是管理员权限时,这个选项会失效,会回退到原本模式并请求权限来进行注入。 +
diff --git a/docs/zh/mangaocr.md b/docs/zh/mangaocr.md index fd416638..8051e32a 100644 --- a/docs/zh/mangaocr.md +++ b/docs/zh/mangaocr.md @@ -1,4 +1,4 @@ -## mangaocr 整合包无法启动怎么办? +## mangaocr整合包无法启动怎么办? 首次启动start.bat时,会尝试从huggingface上下载模型,但是国内你懂的。 diff --git a/docs/zh/ocrparam.md b/docs/zh/ocrparam.md index 17c458d3..ecbfe608 100644 --- a/docs/zh/ocrparam.md +++ b/docs/zh/ocrparam.md @@ -1,4 +1,4 @@ -## OCR 自动化执行方法的参数含义 +## OCR自动化执行方法的参数含义 ![img](https://image.lunatranslator.xyz/zh/ocrauto.png) diff --git a/docs/zh/qa1.md b/docs/zh/qa1.md index 8b5d2339..7fab1110 100644 --- a/docs/zh/qa1.md +++ b/docs/zh/qa1.md @@ -1,4 +1,4 @@ -## 如何使用 Mecab 分词&词性颜色标注 +## 如何使用Mecab分词&词性颜色标注 首先需要下载mecab词典,任选其一下载,解压 diff --git a/docs/zh/qa2.md b/docs/zh/qa2.md index 2119c16e..cb8b5278 100644 --- a/docs/zh/qa2.md +++ b/docs/zh/qa2.md @@ -1,4 +1,4 @@ -## 如何自动划词进 anki +## 如何自动划词进anki 1. 安装 anki, https://apps.ankiweb.net/ 去主页下载安装 diff --git a/docs/zh/qa4.md b/docs/zh/qa4.md index 022fd892..f2fcf10d 100644 --- a/docs/zh/qa4.md +++ b/docs/zh/qa4.md @@ -1,4 +1,4 @@ -## 如何使用 gemini 免费 api +## 如何使用gemini免费 api 1. 去 https://aistudio.google.com/app/prompts/new_chat 2. diff --git a/docs/zh/sidebar.md b/docs/zh/sidebar.md index fcb734eb..a79de60f 100644 --- a/docs/zh/sidebar.md +++ b/docs/zh/sidebar.md @@ -5,15 +5,16 @@ - [支持作者](/zh/support.md) **常见问题** -- [无法启动软件](zh/cantstart.md) -- [各种文本处理方法的作用和用法](zh/textprocess.md) +- [HOOK设置的参数含义](/zh/hooksettings.md) +- [无法启动软件](/zh/cantstart.md) +- [各种文本处理方法的作用和用法](/zh/textprocess.md) - [如何使用大模型离线翻译](/zh/offlinellm.md) - [如何使用内嵌翻译](/zh/embedtranslate.md) - [如何改善OCR模式体验](/zh/gooduseocr.md) - [如何使用国产大模型API接口](/zh/guochandamoxing.md) -- [mangaocr 整合包无法启动怎么办](/zh/mangaocr.md) -- [OCR 自动化执行方法的参数含义](/zh/ocrparam.md) -- [Windows OCR 如何安装额外的语言支持](/zh/windowsocr.md) -- [如何使用 Mecab 分词&词性颜色标注](/zh/qa1.md) -- [如何自动划词进 anki](/zh/qa2.md) -- [如何使用 gemini 免费 api](/zh/qa4.md) \ No newline at end of file +- [mangaocr整合包无法启动怎么办](/zh/mangaocr.md) +- [OCR自动化执行方法的参数含义](/zh/ocrparam.md) +- [WindowsOCR如何安装额外的语言支持](/zh/windowsocr.md) +- [如何使用Mecab分词&词性颜色标注](/zh/qa1.md) +- [如何自动划词进anki](/zh/qa2.md) +- [如何使用gemini免费 api](/zh/qa4.md) \ No newline at end of file diff --git a/docs/zh/windowsocr.md b/docs/zh/windowsocr.md index 0e2b7e0a..bb415014 100644 --- a/docs/zh/windowsocr.md +++ b/docs/zh/windowsocr.md @@ -1,6 +1,6 @@ -## Windows OCR 如何安装额外的语言支持? +## WindowsOCR如何安装额外的语言支持? -> Windows OCR 仅支持win10-win11操作系统 +> WindowsOCR仅支持win10-win11操作系统 1. 打开设置