Improve patch creation performance
- Skip MD5 hash generation if the file size differs, as it's guaranteed to be different - Disable xdelta compression, LZMA does a better job and quicker
This commit is contained in:
parent
c49c076ea7
commit
38f2425aeb
@ -83,6 +83,12 @@ namespace PatcherUtils
|
|||||||
var sourceInfo = new FileInfo(SourceFilePath);
|
var sourceInfo = new FileInfo(SourceFilePath);
|
||||||
var targetInfo = new FileInfo(TargetFilePath);
|
var targetInfo = new FileInfo(TargetFilePath);
|
||||||
|
|
||||||
|
// Return false if file size differs
|
||||||
|
if (sourceInfo.Length != targetInfo.Length)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
using (MD5 md5Service = MD5.Create())
|
using (MD5 md5Service = MD5.Create())
|
||||||
using (var sourceStream = File.OpenRead(SourceFilePath))
|
using (var sourceStream = File.OpenRead(SourceFilePath))
|
||||||
using (var targetStream = File.OpenRead(TargetFilePath))
|
using (var targetStream = File.OpenRead(TargetFilePath))
|
||||||
@ -166,7 +172,7 @@ namespace PatcherUtils
|
|||||||
Process.Start(new ProcessStartInfo
|
Process.Start(new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = LazyOperations.XDelta3Path,
|
FileName = LazyOperations.XDelta3Path,
|
||||||
Arguments = $"-0 -e -f -s \"{SourceFilePath}\" \"{TargetFilePath}\" \"{deltaPath}\"",
|
Arguments = $"-0 -e -f -S none -s \"{SourceFilePath}\" \"{TargetFilePath}\" \"{deltaPath}\"",
|
||||||
CreateNoWindow = true
|
CreateNoWindow = true
|
||||||
})
|
})
|
||||||
.WaitForExit();
|
.WaitForExit();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user