個人資料-更快的遊戲開始(INI文件傳送器)
通過將INI文件存儲在內存中,而不是每次需要打開、解析和關閉文件時,加快遊戲的速度。
截圖 共 1 張
模組介紹 作者原文
通過將INI文件存儲在內存中,而不是每次需要打開、解析和關閉文件時,加快遊戲的速度。
問題
這個插件試圖解決的問題來自這樣一個事實,即遊戲使用了一箇舊的、廢棄的、效率極低的函數來從INI文件中加載值。所討論的功能是GetPrivateProfileString,16位操作系統的遺蹟。但是你知道什麼比使用這樣的函數更糟糕嗎?顯然,遊戲對每個遊戲設置都使用這個函數,這意味着相同的ini文件被打開和關閉了數百次。真正令人遺憾的是,對於每個啓用插件,遊戲將嘗試從一個假設的INI文件讀取所有相同的設置,插件可能加載,也可能不加載。因此,對於每個啓用的mod插件,您最終都會得到大量異常低效的調用。作爲一種解決方案,該模塊將連接所涉及的函數,並將目標INI文件加載到內存中,這樣每次調用相同INI文件的速度都要快得多,因爲它將直接從內存中讀取,並且不需要從頭開始打開文件。
這個模塊將減少您的啓動時間的秒數取決於您已經啓用的插件的數量,以及其他使用INI文件(雖然ENB附帶了它自己的加載問題,這個模塊無法修復)。當在香草遊戲中使用時,它將基本上是不可察覺的,並將從那裏上升,在大約50個插件中減少6秒,對於250+插件最多20秒。
解
當遊戲,ENB或其他東西調用GetPrivateProfileString第一次這個插件將加載請求的文件在內存和返回所需的數據。下一次,將不會加載任何文件,數據也將從內存中獲取。當進程試圖將值寫入文件時,也會發生同樣的情況。與其再次打開文件,解析並保存到磁盤,插件將把數據寫入內存文件,然後保存到磁盤(如果允許的話)。此外,所有的文件保存在遊戲關閉,如果遊戲不會崩潰的進程。
插件源可在GitHub.
所需
SKSE 64,SSE引擎修復.
安裝
這是一個SKSE插件,所以安裝像任何其他SKSE插件。解壓縮存檔在您的遊戲文件夾或使用mod管理器。
卸載
使用MOD管理器或刪除所有已安裝的文件。
覆蓋功能
GetPrivateProfileStringA
GetPrivateProfileStringW
WritePrivateProfileStringA
WritePrivateProfileStringW
GetPrivateProfileIntA
GetPrivateProfileIntW
配置
插件可以在它自己的INI文件中進行配置,每個參數都在這個文件中描述。
問答
問:我真的需要這個嗎?
答:那得看情況如果你的遊戲在瞬間從快捷鍵開始到主菜單,那麼不會。如果要花更長的時間,這個插件可以幫上忙。您將節省多少時間取決於您的設置。
問:這是否適用於MO/NMM/Vortex/Kortex(是的,我不得不提到)或任何其他Mod經理?
答:用MO2和Kortex進行了測試,沒有發現問題。渦旋和NMM還沒有經過測試,但預計工作正常。我不能說與其他Mod經理的兼容性。
問:我在啓動時安裝了它並導致遊戲崩潰。
答:啓用登錄配置文件並複製崩潰。去Data\SKSE\Plugins,查找文件PrivateProfileRedirector.log,將其壓縮,上傳到某個地方,並在您的問題報告中發佈到它的鏈接。日誌文件可以超過100 MB,所以不要按原樣上傳,一定要壓縮它。
感謝所有幫助測試插件的人,尤其是AL 12。
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。