perf: Improves window creation speed

This commit is contained in:
MystiPanda 2023-12-08 13:10:35 +08:00
parent c5855119d8
commit 8b14a5f0d8
2 changed files with 11 additions and 15 deletions

View File

@ -107,6 +107,7 @@ pub fn create_window(app_handle: &AppHandle) {
tauri::WindowUrl::App("index.html".into()),
)
.title("Clash Verge")
.visible(false)
.fullscreen(false)
.min_inner_size(600.0, 520.0);
@ -138,8 +139,6 @@ pub fn create_window(app_handle: &AppHandle) {
#[cfg(target_os = "windows")]
{
use std::time::Duration;
use tokio::time::sleep;
use window_shadows::set_shadow;
match builder
@ -173,19 +172,11 @@ pub fn create_window(app_handle: &AppHandle) {
log::trace!("try to create window");
let app_handle = app_handle.clone();
// 加点延迟避免界面闪一下
tauri::async_runtime::spawn(async move {
sleep(Duration::from_millis(888)).await;
if let Some(window) = app_handle.get_window("main") {
trace_err!(set_shadow(&window, true), "set win shadow");
trace_err!(window.show(), "set win visible");
trace_err!(window.unminimize(), "set win unminimize");
trace_err!(window.set_focus(), "set win focus");
} else {
log::error!(target: "app", "failed to create window, get_window is None")
}
});
if let Some(window) = app_handle.get_window("main") {
trace_err!(set_shadow(&window, true), "set win shadow");
} else {
log::error!(target: "app", "failed to create window, get_window is None")
}
}
Err(err) => log::error!(target: "app", "failed to create window, {err}"),
}

View File

@ -71,6 +71,11 @@ const Layout = () => {
break;
}
});
setTimeout(() => {
void appWindow.unminimize();
void appWindow.show();
void appWindow.setFocus();
}, 50);
}, []);
useEffect(() => {