File size: 3,670 Bytes
494c89b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env python3
"""
Проверка GPU в процессах Kiro.
Определяет используется ли SwiftShader (software rendering).
"""

import sys
try:
    import psutil
except ImportError:
    print("❌ Установи psutil: pip install psutil")
    sys.exit(1)


def check_kiro_gpu():
    """Проверяет GPU процессы Kiro."""
    print("🔍 Проверка GPU в Kiro...\n")
    
    gpu_processes = []
    
    for proc in psutil.process_iter(['pid', 'name', 'cmdline', 'memory_info']):
        try:
            if proc.info['name'] and 'kiro' in proc.info['name'].lower():
                cmdline = proc.info['cmdline'] or []
                cmdline_str = " ".join(cmdline).lower()
                
                if "--type=gpu-process" in cmdline_str:
                    mem_mb = proc.info['memory_info'].rss / (1024**2)
                    
                    is_swiftshader = "swiftshader" in cmdline_str
                    use_angle = "--use-angle=" in cmdline_str
                    
                    # Извлекаем параметры
                    angle_backend = "unknown"
                    if use_angle:
                        for arg in cmdline:
                            if arg.startswith("--use-angle="):
                                angle_backend = arg.split("=")[1]
                                break
                    
                    gpu_processes.append({
                        'pid': proc.info['pid'],
                        'memory_mb': mem_mb,
                        'swiftshader': is_swiftshader,
                        'angle': angle_backend,
                        'cmdline': cmdline_str
                    })
        
        except (psutil.NoSuchProcess, psutil.AccessDenied):
            continue
    
    if not gpu_processes:
        print("❌ GPU процессы Kiro не найдены")
        return
    
    print(f"Найдено GPU процессов: {len(gpu_processes)}\n")
    
    for i, gpu in enumerate(gpu_processes, 1):
        print(f"GPU Process #{i} (PID {gpu['pid']}):")
        print(f"  Память: {gpu['memory_mb']:.0f} MB")
        
        if gpu['swiftshader']:
            print(f"  Режим: 🔴 SwiftShader (Software Rendering)")
            print(f"  ANGLE: {gpu['angle']}")
            print(f"  ⚠️  ПРОБЛЕМА: Используется программный рендеринг!")
            print(f"  💡 Это причина лагов!")
        else:
            print(f"  Режим: ✅ Hardware Acceleration")
            print(f"  ANGLE: {gpu['angle']}")
        
        print()
    
    # Итоговый вердикт
    has_swiftshader = any(g['swiftshader'] for g in gpu_processes)
    
    print("=" * 60)
    if has_swiftshader:
        print("🔴 ВЕРДИКТ: Kiro использует Software Rendering")
        print("\nПричины:")
        print("  1. Драйвера видеокарты устарели или не установлены")
        print("  2. Видеокарта в блоклисте Chromium")
        print("  3. Проблемы с DirectX/OpenGL")
        print("\nРешения:")
        print("  1. Обнови драйвера видеокарты")
        print("  2. Проверь: Ctrl+Shift+P → 'Preferences: Configure Runtime Arguments'")
        print("  3. Добавь в argv.json: \"ignore-gpu-blocklist\": true")
    else:
        print("✅ ВЕРДИКТ: Hardware Acceleration работает")
        print("   Лаги не связаны с GPU")


if __name__ == "__main__":
    check_kiro_gpu()