From 2bee096246916e8114225378dcc3e65c18111f97 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Fri, 27 Nov 2020 14:47:43 +0300 Subject: [PATCH] Try to set 2-3 GiB working space and show error if it's failed (Windows) --- rpcs3/main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rpcs3/main.cpp b/rpcs3/main.cpp index 08b973bd7d..72b97466be 100644 --- a/rpcs3/main.cpp +++ b/rpcs3/main.cpp @@ -292,7 +292,6 @@ int main(int argc, char** argv) #ifdef _WIN32 ULONG64 intro_cycles{}; QueryThreadCycleTime(GetCurrentThread(), &intro_cycles); - SetProcessWorkingSetSize(GetCurrentProcess(), 0x60000000, 0x80000000); // 2GiB #elif defined(RUSAGE_THREAD) struct ::rusage intro_stats{}; ::getrusage(RUSAGE_THREAD, &intro_stats); @@ -358,6 +357,14 @@ int main(int argc, char** argv) return 1; } +#ifdef _WIN32 + if (!SetProcessWorkingSetSize(GetCurrentProcess(), 0x80000000, 0xC0000000)) // 2-3 GiB + { + report_fatal_error("Not enough memory for RPCS3 process."); + return 2; + } +#endif + std::unique_ptr log_file; { // Check free space