-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: ZIP streaming decompression #1037
Open
iamscottxu
wants to merge
59
commits into
Scighost:dev/exp
Choose a base branch
from
iamscottxu:streamdownload
base: dev/exp
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: scottxu <[email protected]>
Signed-off-by: scottxu <[email protected]> # Conflicts: # src/Starward.Language/Lang.resx # src/Starward.Language/Lang.zh-CN.resx
Signed-off-by: scottxu <[email protected]>
…ry files. Signed-off-by: scottxu <[email protected]>
…ion Path Description` Signed-off-by: scottxu <[email protected]>
太强了,这么多代码光审查都要很久 |
Signed-off-by: scottxu <[email protected]>
Signed-off-by: scottxu <[email protected]>
Signed-off-by: scottxu <[email protected]>
…cause unexpected behavior after a traditional download mode task was started Signed-off-by: scottxu <[email protected]>
…a streaming download was retried Signed-off-by: scottxu <[email protected]>
…oads Signed-off-by: scottxu <[email protected]>
修了一些Bug,现在发现几个待处理的问题。
|
…rrectly caught as `TaskCanceledException` Signed-off-by: scottxu <[email protected]>
…tialDownloadException was thrown Signed-off-by: scottxu <[email protected]>
…ZIP downloads Signed-off-by: scottxu <[email protected]>
|
我重新运行一下 |
Signed-off-by: scottxu <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
…wnloads Signed-off-by: OsakaRuma <[email protected]>
…ancel Signed-off-by: OsakaRuma <[email protected]>
…ming download Signed-off-by: OsakaRuma <[email protected]>
… fixed the bug in which the progress was displayed incorrectly after the download was paused and restarted Signed-off-by: OsakaRuma <[email protected]>
…completion or cancellation when streaming downloads Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]> # Conflicts: # src/Starward.Core.ZipStreamDownload/FastZipStreamDownloadTask.partial.cs
Signed-off-by: OsakaRuma <[email protected]>
…e few files in the compressed package during streaming download Signed-off-by: OsakaRuma <[email protected]>
… times by multiple threads (Scighost#1083) (Scighost#1082) Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]> # Conflicts: # src/Starward/Services/Download/InstallGameService.cs
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]> # Conflicts: # src/Starward/Services/Download/InstallGameService.cs
…re were multiple steps of the task when installing the game Signed-off-by: OsakaRuma <[email protected]>
…leted Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]> # Conflicts: # src/Starward.Language/Lang.de-DE.resx # src/Starward.Language/Lang.es-ES.resx # src/Starward.Language/Lang.it-IT.resx # src/Starward.Language/Lang.ja-JP.resx # src/Starward.Language/Lang.ko-KR.resx # src/Starward.Language/Lang.ru-RU.resx # src/Starward.Language/Lang.th-TH.resx # src/Starward.Language/Lang.vi-VN.resx # src/Starward/Services/Download/InstallGameManager.cs # src/Starward/Services/Download/InstallGameService.cs
…using speed limiter. Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
1 task
Signed-off-by: OsakaRuma <[email protected]> # Conflicts: # src/Starward/Services/Download/InstallGameService.cs
iamscottxu
force-pushed
the
streamdownload
branch
from
October 17, 2024 12:57
a4cf2c7
to
533129e
Compare
…the list of files to be deleted, delete the files in the list, then download the files to a temporary folder, and finally move the files. Signed-off-by: OsakaRuma <[email protected]>
Signed-off-by: OsakaRuma <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
新增功能: #861 利用HTTP分片下载机制实现ZIP流式下载,且支持分卷压缩文件,支持限速。经过测试,目前支持原神、
崩坏:星穹铁道(2.5.0完整包用了7z格式且固实压缩,任支持增量包更新)、绝区零中国官方、全球官方、哔哩哔哩的安装和更新。崩坏3因为使用了7z压缩格式,暂不支持。大致流程:
zipcdr
文件;效果: 缩减下载时硬盘占用近一半,且大幅缩减游戏安装时间。
新增依赖: SharpZipLib: 1.4.2
2024年10月17日更新:
2.5.0完整包用了7z的固实压缩格式,字块数为21。相当于将未压缩的文件分成21份,每份中的文件看成一个整体去执行压缩算法。理论上能实现流式解压缩,但是实现难度大大增加。(可能涉及到文件系统底层操作,要预分配一段连续的存储空间进行下载和解压,然后再按照顺序划分给各文件)