Scighost / Starward

Game Launcher for miHoYo - 米家游戏启动器
https://starward.scighost.com
MIT License
3.54k stars 165 forks source link

[Bug] 解压逻辑疑似出现问题 #1091

Closed CreeperAWA closed 1 month ago

CreeperAWA commented 2 months ago

Checklist

Description

解压时实时向硬盘中写入,而不是先写入内存中再写入硬盘

Reproduction Steps

更新游戏后执行解压操作

Expected Behavior

我认为应该先写入内存中一部分,再写入硬盘,或者同时执行这两个步骤,否则我的硬盘会跟不上解压速度,占用反复到达100%,解压同时暂停,占用正常后才会解压,这严重浪费了时间

Screenshots

No response

Starward Version

0.31.2

Windows Version

22635.4145

Log

[00:52:31.091] [INFO] 
Welcome to Starward v0.13.2
System: Microsoft Windows NT 10.0.22635.0
Command Line: D:\information\Starward\app-0.13.2\Starward.dll

[00:52:31.125] [INFO] Starward.Services.DatabaseService
Database path is 'D:\information\Starward'

[00:52:31.152] [INFO] Starward.Services.DatabaseService
Database version is 10, target version is 10.

[00:52:31.215] [INFO] Starward.Pages.MainPage
Last game region is hkrpg_cn

[00:52:31.226] [INFO] Starward.Pages.MainPage
Navigate to "GameLauncherPage" with param hkrpg_cn

[00:52:31.988] [INFO] Starward.Pages.GameLauncherPage
Game install path of hkrpg_cn: "D:\information\MiHoYoGAME\Honkai Star Rail"

[00:52:32.008] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.4.0".

[00:52:32.947] [INFO] Starward.Services.UpdateService
Start to check update (Preview: True, Arch: X64)

[00:52:33.979] [INFO] Starward.Services.UpdateService
Current version: "0.13.2", latest version: "0.13.2", ignore version: null

[00:56:03.205] [INFO] Starward.Pages.MainPage
Change game region to hk4e_cn

[00:56:03.221] [INFO] Starward.Pages.MainPage
Navigate to "GameLauncherPage" with param hk4e_cn

[00:56:03.624] [INFO] Starward.Pages.GameLauncherPage
Game install path of hk4e_cn: "D:\information\MiHoYoGAME\Genshin Impact China"

[00:56:03.662] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hk4e_cn is "5.0.0".

[00:56:05.168] [INFO] Starward.Pages.MainPage
Change game region to hkrpg_cn

[00:56:05.168] [INFO] Starward.Pages.MainPage
Navigate to "GameLauncherPage" with param hkrpg_cn

[00:56:05.371] [INFO] Starward.Pages.GameLauncherPage
Game install path of hkrpg_cn: "D:\information\MiHoYoGAME\Honkai Star Rail"

[00:56:05.415] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.4.0".

[00:56:56.644] [INFO] Starward.Services.Download.InstallGameService
Write config.ini (game_version="2.5.0")

[00:56:56.667] [INFO] Starward.Pages.GameLauncherPage
Game install path of hkrpg_cn: "D:\information\MiHoYoGAME\Honkai Star Rail"

[00:56:56.681] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.5.0".

[00:58:52.608] [INFO] Starward.Pages.MainPage
Change game region to hk4e_cn

[00:58:52.609] [INFO] Starward.Pages.MainPage
Navigate to "GameLauncherPage" with param hk4e_cn

[00:58:52.683] [INFO] Starward.Pages.GameLauncherPage
Game install path of hk4e_cn: "D:\information\MiHoYoGAME\Genshin Impact China"

[00:58:52.712] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hk4e_cn is "5.0.0".

[00:58:55.123] [INFO] Starward.Pages.MainPage
Change game region to hkrpg_cn

[00:58:55.123] [INFO] Starward.Pages.MainPage
Navigate to "GameLauncherPage" with param hkrpg_cn

[00:58:55.191] [INFO] Starward.Pages.GameLauncherPage
Game install path of hkrpg_cn: "D:\information\MiHoYoGAME\Honkai Star Rail"

[00:58:55.224] [INFO] Starward.Pages.GameLauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.5.0".

Additional Context

No response

Scighost commented 2 months ago

同时进行的解压任务只可能存在一个,这样会保持一个较低的硬盘占用,如果仍能达到100%的话,建议你把游戏安装在固态硬盘中。

SSB-ARFCN commented 2 months ago

機械硬碟是這樣的 磁頭臂反覆擺動需要一定時間 反應不及會造成100%占用

CreeperAWA commented 2 months ago

我的就是SSD(截图非解压时的截图) image image 这个问题是更新启动器后才出现的

CreeperAWA commented 2 months ago

同时进行的解压任务只可能存在一个,这样会保持一个较低的硬盘占用,如果仍能达到100%的话,建议你把游戏安装在固态硬盘中。

我还是建议先写入内存再写入硬盘

SSB-ARFCN commented 1 month ago

有不少硬碟在快取用完時 寫入會降速(這點可以透過傳輸大型檔案復現) 而讀取還是同樣的速度 此時解壓縮後的資料來不及寫入硬碟 往內存堆積 工作管理員估計會看到內存高佔用的情形

CreeperAWA commented 1 month ago

有不少硬碟在快取用完時 寫入會降速(這點可以透過傳輸大型檔案復現) 而讀取還是同樣的速度 此時解壓縮後的資料來不及寫入硬碟 往內存堆積 工作管理員估計會看到內存高佔用的情形

zh_TW 然而,Starward直接暫停了解壓(速度為0),並沒有寫入記憶體(工作管理員可看出)。 市面上大多數的壓縮軟體在遇到這種情況下都會選擇寫入記憶體的(以前Starward也會這樣吧),所以我認為這個解壓邏輯並不正確。 我建議直接在軟件打包時包含7-Zip,解壓時調用7-Zip; 或者使用用戶系統中的7-Zip。

zh_CN 然而,Starward直接暂停了解压(速度为0),并没有写入内存(任务管理器可看出)。 市面上大多数的压缩软件在遇到这种情况下都会选择写入内存的(以前Starward也会这样吧),所以我认为这个解压逻辑并不正确。 我建议直接在软件打包时包含7-Zip,解压时调用7-Zip;或者使用用户系统中的7-Zip。

starward-bot[bot] commented 1 month ago

This issue will be closed due to no reply for more than 14 days.