Tôi có một ứng dụng được viết bằng Python và 'biên dịch' với PyInstaller. Nó cũng sử dụng PyQt cho khung công tác GUI.Windows: Khởi động ứng dụng chậm
Chạy ứng dụng này có độ trễ khoảng 10 giây trước khi cửa sổ chính tải và được hiển thị. Theo như tôi có thể nói, điều này không phải do sự chậm chạp trong mã của tôi. Thay vào đó, tôi nghi ngờ điều này là do khởi chạy thời gian chạy Python.
Sự cố là ứng dụng này được bắt đầu bằng ứng dụng laucncher/thanh tác vụ tùy chỉnh. Người dùng sẽ nhấp vào nút để khởi chạy ứng dụng, không thấy có gì xuất hiện và nhấp vào nơi khác trên ứng dụng khác. Khi ứng dụng của tôi hiển thị cửa sổ của nó, nó không thể đến nền trước do các quy tắc cho SetForegroundWindow.
Tôi có quyền truy cập vào nguồn cho trình tải win32 của PyInstaller, mã Python và thậm chí cả mã trình khởi chạy.
Câu hỏi của tôi là:
Làm thế nào tôi có thể làm cho ứng dụng này bắt đầu nhanh hơn?
Làm cách nào để tôi có thể đo lường thời gian dành cho tôi trong vài giây đầu tiên trong suốt thời gian của quá trình?
Kỹ thuật được chấp nhận chung để giảm thời gian cho đến khi cửa sổ đầu tiên được hiển thị là gì?
Tôi muốn tránh thêm màn hình giật vì hai lý do - một, tôi hy vọng nó sẽ không giúp ích (chi phí trước khi mã Python chạy) và hai, tôi không thích màn hình giật gân :)
Nếu cần, tôi có thể chỉnh sửa trình tải nạp PyInstaller để tạo cửa sổ, nhưng đó là một tuyến đường khác mà tôi không muốn dùng.
Cảm ơn các đề xuất.
Bạn đã đúng, tôi đã tạo một ứng dụng đơn giản và thực sự là thời gian khởi động đã gần như ngay lập tức. Tôi đang sử dụng chế độ onedir. Tôi tin rằng vấn đề là một số hàng nhập khẩu của tôi. Tôi có nhiều theo dõi hơn để làm. –
Rất tiếc, cảm ơn bạn đã đọc mẹo về chống vi-rút. Khi tôi vô hiệu hóa AV của mình, exe của tôi đã tăng tốc. – iridescent