Speed improvements to launch

This commit is contained in:
Brett Williams
2025-12-27 20:39:19 -06:00
parent 3be9d6d4d7
commit 259a4ce0ef
2 changed files with 37 additions and 8 deletions
+30 -2
View File
@@ -7,6 +7,7 @@ import shutil
import socket
import string
import subprocess
import sys
from datetime import datetime
logger = logging.getLogger()
@@ -139,6 +140,29 @@ def current_system_cpu():
# convert all x86 64 to "x64"
return platform.machine().lower().replace('amd64', 'x64').replace('x86_64', 'x64')
def current_system_cpu_brand():
"""Fast cross-platform CPU brand string"""
if sys.platform.startswith('darwin'): # macOS
try:
return subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string']).decode().strip()
except Exception:
pass
elif sys.platform.startswith('win'): # Windows
try:
return platform.processor() # Often sufficient, or fallback to env var
except Exception:
pass
elif sys.platform.startswith('linux'):
try:
with open('/proc/cpuinfo') as f:
for line in f:
if line.startswith('model name'):
return line.split(':', 1)[1].strip()
except Exception:
pass
# Ultimate fallback
return platform.processor() or 'Unknown CPU'
def resources_dir():
resource_environment_path = os.environ.get('RESOURCEPATH', None)
@@ -284,7 +308,11 @@ def get_gpu_info():
def get_macos_gpu_info():
"""Get GPU info on macOS (works with Apple Silicon)"""
try:
result = subprocess.run(['system_profiler', 'SPDisplaysDataType', '-json'],
if current_system_cpu() == "arm64":
# don't bother with system_profiler with Apple ARM - we know its integrated
return [{'name': current_system_cpu_brand(), 'memory': 'Integrated'}]
result = subprocess.run(['system_profiler', 'SPDisplaysDataType', '-detailLevel', 'mini', '-json'],
capture_output=True, text=True, timeout=5)
data = json.loads(result.stdout)
@@ -296,7 +324,7 @@ def get_gpu_info():
'name': display.get('sppci_model', 'Unknown GPU'),
'memory': display.get('sppci_vram', 'Integrated'),
})
return gpus if gpus else [{'name': 'Apple Silicon GPU', 'memory': 'Integrated'}]
return gpus if gpus else [{'name': 'Apple GPU', 'memory': 'Integrated'}]
except Exception as e:
print(f"Failed to get macOS GPU info: {e}")
return [{'name': 'Unknown GPU', 'memory': 'Unknown'}]