Fix queue size being assigned to 0 on low end machines

This commit is contained in:
trawzified 2020-01-21 21:10:13 +01:00
parent e7777a5148
commit 882fbd3edc
2 changed files with 4 additions and 2 deletions

View File

@ -1,5 +1,6 @@
### Changelog
* Fix for queue size recommendation of 0GB RAM on low-end machines
* Fix for website readme compilation
* Fix for compiler downloads folder specification (was always standard path)

View File

@ -80,8 +80,9 @@ namespace Wabbajack.Lib
const ulong GB = (1024 * 1024 * 1024);
// Most of the heavy lifting is done on the scratch disk, so we'll use the value from that disk
var memory = Utils.GetMemoryStatus();
// Assume roughly 2GB of ram needed to extract each 7zip archive, and then leave 2GB for the OS
var based_on_memory = (memory.ullTotalPhys - (2 * GB)) / (2 * GB);
// Assume roughly 2GB of ram needed to extract each 7zip archive, and then leave 2GB for the OS. If calculation is lower or equal to 1 GB, use 1GB
var memory_guess = (memory.ullTotalPhys - (2 * GB)) / (2 * GB);
var based_on_memory = (memory_guess <= (1 * GB)) ? (1 * GB) : memory_guess;
var scratch_size = await RecommendQueueSize(Directory.GetCurrentDirectory());
var result = Math.Min((int)based_on_memory, (int)scratch_size);
Utils.Log($"Recommending a queue size of {result} based on disk performance, number of cores, and {((long)memory.ullTotalPhys).ToFileSizeString()} of system RAM");