Auto RAM tweaks
- It is now accessible for everyone (sandboxed, TrollStored, jailbroken) - Enabled by default if Jetsam can't be controlled - Default ratio: 25% (sandboxed), 40% (TrollStored or jailbroken)
This commit is contained in:
1 parent
77370a01ea
commit
9aa7095ca1
3 files changed
+12
-11
No files matched your search
@@ -28,7 +28,6 @@ static int margc = -1;
|
||||
static char* margv[1000];
|
||||
|
||||
const char *javaHome;
|
||||
const char *allocmem;
|
||||
const char *multidir;
|
||||
|
||||
char *homeDir;
|
||||
@@ -169,19 +168,23 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi
|
||||
}
|
||||
setenv("POJAV_RENDERER", renderer.UTF8String, 1);
|
||||
|
||||
allocmem_pre = [getPreference(@"allocated_memory") stringValue];
|
||||
allocmem = [allocmem_pre cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
int allocmem;
|
||||
if ([getPreference(@"auto_ram") boolValue]) {
|
||||
CGFloat autoRatio = getEntitlementValue(@"com.apple.private.memorystatus") ? 0.4 : 0.25;
|
||||
allocmem = roundf(([[NSProcessInfo processInfo] physicalMemory] / 1048576) * autoRatio);
|
||||
} else {
|
||||
allocmem = [getPreference(@"allocated_memory") intValue];
|
||||
}
|
||||
|
||||
// "/Applications/PojavLauncher.app/libs/launcher.jar:/Applications/PojavLauncher.app/libs/ExagearApacheCommons.jar:/Applications/PojavLauncher.app/libs/gson-2.8.6.jar:/Applications/PojavLauncher.app/libs/jsr305.jar:/Applications/PojavLauncher.app/libs/lwjgl3-minecraft.jar";
|
||||
|
||||
// Check if JVM restarts
|
||||
char *frameworkPath, *javaPath, *jnaLibPath, *userDir, *userHome, *memMin, *memMax, *arcDNS;
|
||||
char *frameworkPath, *javaPath, *jnaLibPath, *userDir, *userHome, *arcDNS;
|
||||
asprintf(&frameworkPath, "-Djava.library.path=%1$s/Frameworks:%1$s/Frameworks/libOSMesaOverride.dylib.framework:%1$s/Frameworks/libMoltenVK.dylib.framework", getenv("BUNDLE_PATH"));
|
||||
asprintf(&javaPath, "%s/bin/java", javaHome);
|
||||
asprintf(&jnaLibPath, "-Djna.boot.library.path=%s/Frameworks/libjnidispatch.dylib.framework", getenv("BUNDLE_PATH"));
|
||||
asprintf(&userDir, "-Duser.dir=%s", getenv("POJAV_GAME_DIR"));
|
||||
asprintf(&userHome, "-Duser.home=%s", getenv("POJAV_HOME"));
|
||||
asprintf(&memMax, "-Xmx%sM", allocmem);
|
||||
asprintf(&arcDNS, "-javaagent:%s/arc_dns_injector.jar=23.95.137.176", java_libs_path);
|
||||
NSLog(@"[JavaLauncher] Java executable path: %s", javaPath);
|
||||
setenv("JAVA_EXT_EXECNAME", javaPath, 1);
|
||||
@@ -190,7 +193,7 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi
|
||||
margv[++margc] = "-XstartOnFirstThread";
|
||||
margv[++margc] = "-Djava.system.class.loader=net.kdt.pojavlaunch.PojavClassLoader";
|
||||
margv[++margc] = "-Xms128M";
|
||||
margv[++margc] = memMax;
|
||||
margv[++margc] = (char *)[NSString stringWithFormat:@"-Xmx%dM", allocmem].UTF8String;
|
||||
margv[++margc] = frameworkPath;
|
||||
margv[++margc] = jnaLibPath;
|
||||
margv[++margc] = userDir;
|
||||
|
||||
@@ -123,7 +123,7 @@ void loadPreferences(BOOL reset) {
|
||||
setDefaultValueForPref(prefDict, @"slideable_hotbar", @NO);
|
||||
setDefaultValueForPref(prefDict, @"virtmouse_enable", @NO);
|
||||
setDefaultValueForPref(prefDict, @"check_sha", @YES);
|
||||
setDefaultValueForPref(prefDict, @"auto_ram", @(getenv("POJAV_DETECTEDJB") == NULL));
|
||||
setDefaultValueForPref(prefDict, @"auto_ram", @(!getEntitlementValue(@"com.apple.private.memorystatus")));
|
||||
setDefaultValueForPref(prefDict, @"unsupported_warn_counter", @(0));
|
||||
|
||||
if (0 != [fileManager fileExistsAtPath:@"/var/mobile/Documents/.pojavlauncher"]) {
|
||||
|
||||
@@ -188,11 +188,9 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *);
|
||||
@"hasDetail": @YES,
|
||||
@"icon": @"slider.horizontal.3",
|
||||
@"type": self.typeSwitch,
|
||||
@"enableCondition": ^BOOL(){
|
||||
return getenv("POJAV_DETECTEDJB") == NULL && whenNotInGame();
|
||||
},
|
||||
@"enableCondition": whenNotInGame,
|
||||
@"warnCondition": ^BOOL(){
|
||||
return getenv("POJAV_DETECTEDJB") == NULL && whenNotInGame();
|
||||
return getenv("POJAV_DETECTEDJB") == NULL;
|
||||
},
|
||||
@"warnKey": @"auto_ram_warn",
|
||||
@"requestReload": @YES
|
||||
|
||||
Reference in new issue
Block a user