From 64228251e7523e9cdc98d0c13db948b679722ff4 Mon Sep 17 00:00:00 2001 From: krypton Date: Wed, 1 Apr 2026 14:06:32 +0800 Subject: feat: add GPU acceleration JVM parameters support - Add Prism rendering pipeline parameters when enable_gpu_acceleration is enabled - Windows: -Dprism.order=d3d,es2,sw (Direct3D priority) - Linux/macOS: -Dprism.order=es2,sw (OpenGL ES priority) - Add -Dprism.forcegpu=true to force hardware acceleration --- src-tauri/src/main.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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()); -- cgit v1.2.3-70-g09d2