aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri/src
diff options
context:
space:
mode:
Diffstat (limited to 'src-tauri/src')
-rw-r--r--src-tauri/src/main.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 63287cd..f15a2c6 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -660,6 +660,21 @@ async fn start_game(
args.push(format!("-Djava.library.path={}", natives_path));
}
+ // Add GPU acceleration parameters if enabled
+ // JavaFX Prism rendering pipeline settings for hardware acceleration
+ if config.enable_gpu_acceleration {
+ // Platform-specific rendering order:
+ // - Windows: d3d (Direct3D) > es2 (OpenGL ES 2) > sw (software)
+ // - Linux/macOS: es2 > sw (no Direct3D available)
+ if cfg!(target_os = "windows") {
+ args.push("-Dprism.order=d3d,es2,sw".to_string());
+ } else {
+ args.push("-Dprism.order=es2,sw".to_string());
+ }
+ // Force GPU usage instead of software fallback
+ args.push("-Dprism.forcegpu=true".to_string());
+ }
+
// Ensure classpath is set if not already
if !args.iter().any(|a| a == "-cp" || a == "-classpath") {
args.push("-cp".to_string());