diff --git a/VoidLink/Base.lproj/iPad.storyboard b/VoidLink/Base.lproj/iPad.storyboard
index 8ca325a0..07be358a 100644
--- a/VoidLink/Base.lproj/iPad.storyboard
+++ b/VoidLink/Base.lproj/iPad.storyboard
@@ -850,17 +850,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1670,6 +1693,8 @@
+
+
diff --git a/VoidLink/Database/TemporarySettings.m b/VoidLink/Database/TemporarySettings.m
index a5406134..160549ac 100644
--- a/VoidLink/Database/TemporarySettings.m
+++ b/VoidLink/Database/TemporarySettings.m
@@ -55,11 +55,11 @@
// Set rendering backend based on iOS version and user preference
NSInteger savedBackend = [[NSUserDefaults standardUserDefaults] integerForKey:@"renderingBackend"];
if (@available(iOS 17.0, *)) {
- // iOS 17+ can use Metal renderer (CAMetalDisplayLink available)
+ // iOS 17+ can use Performance mode (Metal renderer)
self.renderingBackend = [NSNumber numberWithInteger:savedBackend];
} else {
- // iOS < 17 must use AVSB renderer (no CAMetalDisplayLink)
- self.renderingBackend = [NSNumber numberWithInteger:1]; // RENDER_AVSB = 1
+ // iOS < 17 must use Balanced mode (AVSB renderer)
+ self.renderingBackend = [NSNumber numberWithInteger:RENDER_AVSB];
}
NSInteger _screenSize = [[NSUserDefaults standardUserDefaults] integerForKey:@"streamResolution"];
diff --git a/VoidLink/Utility/Plot.h b/VoidLink/Utility/Plot.h
index a6e28982..2605233a 100644
--- a/VoidLink/Utility/Plot.h
+++ b/VoidLink/Utility/Plot.h
@@ -35,8 +35,8 @@ typedef struct {
} PlotMetrics;
typedef enum {
- RENDER_METAL = 0,
- RENDER_AVSB
+ RENDER_AVSB = 0,
+ RENDER_METAL
} RenderingBackend;
typedef struct {
diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m
index 47385be8..24b7294c 100644
--- a/VoidLink/ViewControllers/SettingsViewController.m
+++ b/VoidLink/ViewControllers/SettingsViewController.m
@@ -1631,13 +1631,13 @@ BOOL isCustomResolution(int resolutionSelected) {
}
- (void)renderingBackendChanged:(UISegmentedControl *)sender {
- // Disable PiP toggle when Metal renderer (index 0) is selected
+ // Disable PiP toggle when Metal renderer is selected
if (sender.selectedSegmentIndex == RENDER_METAL) {
- // Metal renderer selected - disable PiP
+ // Performance mode (Metal renderer) selected - disable PiP
[self.pipSwitch setOn:NO animated:YES];
[self.pipSwitch setEnabled:NO];
} else {
- // Other renderers - enable PiP toggle if iOS 15+
+ // Balanced mode (AVSB renderer) - enable PiP toggle if iOS 15+
if (@available(iOS 15.0, *)) {
[self.pipSwitch setEnabled:YES];
} else {
diff --git a/VoidLink/mul.lproj/iPad.xcstrings b/VoidLink/mul.lproj/iPad.xcstrings
index 2ab23dac..18b5fe0a 100644
--- a/VoidLink/mul.lproj/iPad.xcstrings
+++ b/VoidLink/mul.lproj/iPad.xcstrings
@@ -410,25 +410,25 @@
}
},
"53H-ST-OtY.segmentTitles[0]" : {
- "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[0] = \"Metal\"; ObjectID = \"53H-ST-OtY\";",
+ "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[0] = \"Balanced\"; ObjectID = \"53H-ST-OtY\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
- "value" : "Metal"
+ "value" : "Balanced"
}
}
}
},
"53H-ST-OtY.segmentTitles[1]" : {
- "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[1] = \"AVSampleBuffer\"; ObjectID = \"53H-ST-OtY\";",
+ "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[1] = \"Performance\"; ObjectID = \"53H-ST-OtY\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
- "value" : "AVSampleBuffer"
+ "value" : "Performance"
}
}
}
@@ -3236,13 +3236,13 @@
}
},
"v8l-hf-kiR.text" : {
- "comment" : "Class = \"UILabel\"; text = \"Rendering Backend\"; ObjectID = \"v8l-hf-kiR\";",
+ "comment" : "Class = \"UILabel\"; text = \"Rendering Mode\"; ObjectID = \"v8l-hf-kiR\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
- "value" : "Rendering Backend"
+ "value" : "Rendering Mode"
}
}
}
diff --git a/VoidLink/mul.lproj/iPhone.xcstrings b/VoidLink/mul.lproj/iPhone.xcstrings
index ad936e75..b74e6f9d 100644
--- a/VoidLink/mul.lproj/iPhone.xcstrings
+++ b/VoidLink/mul.lproj/iPhone.xcstrings
@@ -697,6 +697,30 @@
}
}
},
+ "53H-ST-OtY.segmentTitles[0]" : {
+ "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[0] = \"Balanced\"; ObjectID = \"53H-ST-OtY\";",
+ "extractionState" : "extracted_with_value",
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "new",
+ "value" : "Balanced"
+ }
+ }
+ }
+ },
+ "53H-ST-OtY.segmentTitles[1]" : {
+ "comment" : "Class = \"UISegmentedControl\"; 53H-ST-OtY.segmentTitles[1] = \"Performance\"; ObjectID = \"53H-ST-OtY\";",
+ "extractionState" : "extracted_with_value",
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "new",
+ "value" : "Performance"
+ }
+ }
+ }
+ },
"A9r-dE-rT4.segmentTitles[0]" : {
"comment" : "Class = \"UISegmentedControl\"; A9r-dE-rT4.segmentTitles[0] = \"Touchpad\"; ObjectID = \"A9r-dE-rT4\";",
"extractionState" : "extracted_with_value",
@@ -3253,6 +3277,18 @@
}
}
},
+ "v8l-hf-kiR.text" : {
+ "comment" : "Class = \"UILabel\"; text = \"Rendering Mode\"; ObjectID = \"v8l-hf-kiR\";",
+ "extractionState" : "extracted_with_value",
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "new",
+ "value" : "Rendering Mode"
+ }
+ }
+ }
+ },
"VEc-6n-QcS.text" : {
"comment" : "Class = \"UILabel\"; text = \"Lift Stream View for Local Keyboard \"; ObjectID = \"VEc-6n-QcS\";",
"extractionState" : "extracted_with_value",