TRWE_2012 - Windows Game Mode Paneli v4.3 (PowerShell Sürümü)

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15149
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2505 kez
Teşekkür edildi: 5301 kez

TRWE_2012 - Windows Game Mode Paneli v4.3 (PowerShell Sürümü)

Mesaj gönderen TRWE_2012 »

Resim
KOD İÇERİĞİ : (SİSTEM : Windows11.24H2 x64 Home TR)

Kod: Tümünü seç

# ==========================================
# GameMode_Controller.ps1 (v4.3)
# TRWE_2012 - AppLocal kök adaptif servis kontrol sistemi
# ==========================================

# AppLocal kök konumu
$backupFile = "C:\Users\Administrator\AppData\Local\service_defaults.json"

# Yönetilecek hizmet listesi
$services = @(
    "bthserv",
    "DeviceAssociationService",
    "diagnosticshub.standardcollector.service",
    "FontCache",
    "PcaSvc",
    "SSDPSRV",
    "stisvc",
    "StorSvc",
    "SENS",
    "TrkWks",
    "WinHttpAutoProxySvc",
    "WinRM",
    "wlidsvc"
)

# --- Fonksiyonlar ---
function KayitAl {
    $defaults = @{}
    foreach ($s in $services) {
        $service = Get-WmiObject -Class Win32_Service -Filter "Name='$s'" -ErrorAction SilentlyContinue
        if ($null -ne $service) {
            $defaults[$s] = $service.StartMode
        }
    }
    $defaults | ConvertTo-Json | Out-File $backupFile -Encoding UTF8
    Write-Host "Varsayılan başlatma türleri AppLocal kök dizine kaydedildi." -ForegroundColor DarkCyan
}

function OyunOncesi {
    Write-Host "`n>>> OYUN ÖNCESİ MODU: Hizmetler devre dışı bırakılıyor..." -ForegroundColor Yellow
    if (-not (Test-Path $backupFile)) {
        KayitAl
    }
    foreach ($s in $services) {
        Stop-Service -Name $s -Force -ErrorAction SilentlyContinue
        Set-Service -Name $s -StartupType Disabled -ErrorAction SilentlyContinue
        Write-Host " - $s devre dışı bırakıldı."
    }
    Write-Host "`n=== Oyun Modu Aktif! Performans önceliklidir. ===`n" -ForegroundColor Green
    Pause
}

function OyunSonrasi {
    Write-Host "`n>>> OYUN SONRASI MODU: Hizmetler özgün türlerine geri getiriliyor..." -ForegroundColor Cyan
    if (Test-Path $backupFile) {
        $defaults = Get-Content $backupFile | ConvertFrom-Json
        foreach ($s in $services) {
            if ($defaults.$s) {
                $type = $defaults.$s
                if ($type -eq "Disabled") { $type = "Manual" }
                Set-Service -Name $s -StartupType $type -ErrorAction SilentlyContinue
                Start-Service -Name $s -ErrorAction SilentlyContinue
                Write-Host " - $s $type türüne getirildi ve başlatıldı."
            } else {
                Write-Host " - $s : Orijinal tür kaydı yok." -ForegroundColor DarkGray
            }
        }
    } else {
        Write-Host "UYARI: AppLocal yedeği bulunamadı! Tüm servisler varsayılan türüne sıfırlanıyor ve başlatılıyor..." -ForegroundColor Red
        foreach ($s in $services) {
            $service = Get-WmiObject -Class Win32_Service -Filter "Name='$s'" -ErrorAction SilentlyContinue
            if ($null -ne $service) {
                $type = if ($service.StartMode -eq "Disabled") { "Manual" } else { $service.StartMode }
                Set-Service -Name $s -StartupType $type -ErrorAction SilentlyContinue
                Start-Service -Name $s -ErrorAction SilentlyContinue
                Write-Host " - $s $type türüne getirildi ve başlatıldı."
            }
        }
    }
    Write-Host "`n=== Oyun Modu Kapatıldı. Hizmetler geri yüklendi. ===`n" -ForegroundColor Green
    Pause
}

function DurumKontrol {
    Write-Host "`n>>> HİZMET DURUMU KONTROLÜ" -ForegroundColor White
    Write-Host "----------------------------------------------"
    foreach ($s in $services) {
        $service = Get-Service -Name $s -ErrorAction SilentlyContinue
        if ($null -ne $service) {
            $statusStr = $service.Status.ToString().ToUpper()
            $startup = (Get-WmiObject -Class Win32_Service -Filter "Name='$s'").StartMode
            $startupType = if ($startup) { $startup } else { "Bilinmiyor" }

            # Renkler
            if ($statusStr -eq "RUNNING") {
                $color = "Green"
            } elseif ($statusStr -eq "STOPPED") {
                $color = "DarkRed"   # DURDURULMUŞ ? Koyu Kırmızı
            } elseif ($startupType -eq "Manual") {
                $color = "DarkBlue"  # Manual ? Koyu Mavi
            } else {
                $color = "Red"
            }

            Write-Host (" - {0,-38} : {1,-10} | Başlatma Türü: {2}" -f $s, $statusStr, $startupType) -ForegroundColor $color
        } else {
            Write-Host (" - {0,-38} : SİSTEMDE BULUNMUYOR" -f $s) -ForegroundColor DarkGray
        }
    }
    Write-Host "----------------------------------------------"
    Pause
}

function AnaMenu {
    Clear-Host
    Write-Host "=============================================" -ForegroundColor White
    Write-Host "      TRWE_2012 - Windows Game Mode Paneli" -ForegroundColor Cyan
    Write-Host "============================================="
    Write-Host "1) Oyun Öncesi Hizmetleri Kapat"
    Write-Host "2) Oyun Sonrası Hizmetleri Aç (Varsayılan Türde)"
    Write-Host "3) Hizmet Durumunu Kontrol Et"
    Write-Host "4) Çıkış"
    Write-Host "---------------------------------------------"
}

# --- Ana Döngü ---
do {
    AnaMenu
    $secim = Read-Host "Seçiminizi yapın (1-4)"
    switch ($secim) {
        1 { OyunOncesi }
        2 { OyunSonrasi }
        3 { DurumKontrol }
        4 { Write-Host "`nÇıkılıyor..." -ForegroundColor DarkGray; break }
        default { Write-Host "Geçersiz seçim! Tekrar deneyin." -ForegroundColor Red; Pause }
    }
} while ($secim -ne 4)
  • Bluetooth Destek Hizmeti (bthserv) → Bluetooth aygıtlarının algılanması, eşleştirilmesi ve veri aktarımı için gereklidir. Kapalıysa Bluetooth donanımı çalışmaz.
  • Aygıt İlişkisi Hizmeti (Device Association Service) → USB, Bluetooth ve diğer harici aygıtların sistemle güvenli biçimde ilişkilendirilmesini sağlar.
  • Tanı İlkesi Hizmeti (Diagnostic Policy Service) → Windows’un ağ, sistem veya donanım sorunlarını otomatik tespit edip çözüm önermesine olanak tanır.
  • Windows Yazı Önbelleği Hizmeti (FontCache) → Font’ların daha hızlı yüklenmesini sağlar. Özellikle UI (arayüz) performansını iyileştirir.
  • Program Uyumluluk Yardımcı Hizmeti (PcaSvc) → Eski yazılımların yeni Windows sürümlerinde çalışabilmesi için uyumluluk modlarını yönetir.
  • SSDP Bulma (SSDPSRV) → UPnP (Universal Plug and Play) cihazların ağ üzerinde bulunmasını sağlar. Akıllı TV, yazıcı vb. için gereklidir.
  • Windows Resim Alma (WIA - Windows Image Acquisition) → Tarayıcı ve dijital fotoğraf makinelerinden görüntü aktarmak için kullanılır.
  • Depolama Hizmeti (StorSvc) → Disk yönetimi, birim atama ve depolama alanı optimizasyonunda görev alır. Disk yönetimi kapalıyken düzgün çalışmaz.
  • Sistem Etkinlikleri Aracısı (EventSystem) → COM+ olaylarını ve sistem hizmetleri arasındaki olay bildirimlerini yönetir. Kritik bir Windows hizmetidir.
  • Dağıtılmış Bağlantı İzleme İstemcisi (TrkWks) → NTFS üzerindeki dosyaların ağda taşındığında bağlantılarını izler. Genellikle alan ağı sistemlerinde kullanılır.
  • WinHTTP Web Proxy Otomatik Bulma Hizmeti (WinHttpAutoProxySvc) → Windows’un proxy ayarlarını otomatik bulmasını sağlar. İnternet bağlantısı için önemlidir.
  • Windows Uzaktan Yönetim (WinRM) → Komut satırı veya PowerShell üzerinden uzak sistem yönetimi sağlar. Ağ yöneticileri için kritik bir bileşendir.
  • MS Oturum Açma Yardımcısı (wlidsvc) → Microsoft hesabı ile oturum açma işlemlerini yönetir. OneDrive, Microsoft Store ve Outlook entegrasyonu için gereklidir.
Windows 11 24H2 x64 Home TR sisteminde, bu hizmetlerin kapalı kalmasının oyun performansına (FPS) etkileri
  • Bluetooth Destek HizmetiDolaylı etki. Bluetooth kulaklık, gamepad veya fare kullanılıyorsa bağlantı sorunları yaratabilir. FPS’e doğrudan etkisi yok.
  • Aygıt İlişkisi HizmetiDolaylı etki. Harici cihaz eşleştirmesi gerekmiyorsa kapatılabilir. FPS kazancı çok düşük (~0.1-0.2 FPS).
  • Tanı İlkesi HizmetiAz da olsa olumlu etki. Arka planda sistem tanılama işlemleri azalır. Yaklaşık +0.3 FPS fark yaratabilir.
  • Windows Yazı Önbelleği HizmetiNötr. Arayüz hızını etkiler ama oyun içi FPS’e etkisi yoktur.
  • Program Uyumluluk Yardımcı HizmetiOlumlu etki. Uyumluluk denetimleri devre dışı kalır, arka plan yükü azalır. Yaklaşık +0.5 FPS kazanç sağlayabilir.
  • SSDP BulmaOlumlu etki. Ağ tarama trafiği kesilir. Online oyunlarda ping sabitlenebilir, +0.3-0.6 FPS kazancı görülebilir.
  • Windows Resim Alma (WIA)Olumlu etki. Tarayıcı ve kamera ile ilgili işlemler devre dışı kalır. Gereksiz işlem azalır, +0.2-0.3 FPS.
  • Depolama HizmetiKapatılması önerilmez. Disk erişim optimizasyonu azalır. FPS düşmese bile yükleme süreleri uzayabilir.
  • Sistem Etkinlikleri AracısıKapatılması önerilmez. Bazı hizmetler arası olay iletimleri durabilir. Oyunlarda kararsızlık yaratabilir.
  • Dağıtılmış Bağlantı İzleme İstemcisiAz da olsa olumlu etki. Ağ dosya izleme kaldırıldığı için CPU yükü azalır. +0.2 FPS civarı.
  • WinHTTP Web Proxy Otomatik Bulma HizmetiNötr. İnternet gerektiren oyunlarda proxy sorunları yaratabilir, FPS’e etkisi yoktur.
  • Windows Uzaktan YönetimOlumlu etki. Uzak komut dinleyicisi kapanır. CPU arka plan yükü azalır, +0.3-0.4 FPS kazancı mümkün.
  • MS Oturum Açma YardımcısıOlumlu etki. Microsoft hesabı senkronizasyonu durur, RAM/CPU kullanımı düşer, +0.4 FPS kazancı sağlanabilir.
Genel değerlendirme:

Toplamda bu hizmetlerin kapalı kalması, düşük seviye bir sistemde yaklaşık katılıyorum,5 ila +2 FPS kazancı sağlar. Ancak bu fark genellikle sadece CPU sınırlı oyunlarda hissedilir.Depolama, EventSystem veya WinHTTP gibi temel servislerin tamamen devre dışı bırakılması sistem kararlılığını düşürebilir.

Hizmetlerin oyun performansına (FPS) etkisine göre en çok kazanç sağlayandan en az olana doğru sıralanmış BBCode listesi
  • Program Uyumluluk Yardımcı Hizmeti+0.5 FPS
    Uyumluluk taramaları durur; CPU yükü azalır, FPS artışı en belirgin olan hizmettir.
  • Windows Uzaktan Yönetim (WinRM)+0.4 FPS
    Uzak yönetim bağlantıları kapanır; işlemci bekleme süresi azalır.
  • MS Oturum Açma Yardımcısı (wlidsvc)+0.4 FPS
    Microsoft hesap senkronizasyonu durur; RAM tüketimi azalır.
  • SSDP Bulma (SSDPSRV)+0.3–0.6 FPS
    Yerel ağ cihaz taramaları kesilir; ağ trafiği azalır, ping sabitlenir.
  • Tanı İlkesi Hizmeti (diagnosticshub.standardcollector.service)+0.3 FPS
    Sistem tanılama süreçleri durur; CPU’nun arka plan yükü hafifler.
  • Dağıtılmış Bağlantı İzleme İstemcisi (TrkWks)+0.2 FPS
    Ağ üzerindeki dosya takibi kapanır; kaynak tüketimi azalır.
  • Windows Resim Alma (stisvc)+0.2–0.3 FPS
    Tarayıcı/kamera hizmetleri kapanır; oyun sırasında gereksiz işlem yapılmaz.
  • Aygıt İlişkisi Hizmeti (DeviceAssociationService)+0.1–0.2 FPS
    Harici cihaz eşleştirmesi yoksa faydalı olabilir.
  • Bluetooth Destek Hizmeti (bthserv)Dolaylı etki
    Bluetooth donanımı kullanılmıyorsa kapatılabilir; doğrudan FPS artışı sağlamaz.
  • Windows Yazı Önbelleği Hizmeti (FontCache)Nötr
    UI performansını etkiler; oyun içi FPS farkı yok.
  • WinHTTP Web Proxy Otomatik Bulma Hizmeti (WinHttpAutoProxySvc)Nötr
    Bazı çevrimiçi oyunlarda proxy ayarlarını bozabilir; FPS’e etkisizdir.
  • Sistem Etkinlikleri Aracısı (SENS)Kapatılması önerilmez(ama ben kapatıyorum sorun olmuyor-TRWE_2012)
    Olay yönetimi durursa kararlılık sorunları doğurabilir.
  • Depolama Hizmeti (StorSvc)Kapatılması önerilmez(ama ben kapatıyorum sorun olmuyor-TRWE_2012)
    Disk erişimi yavaşlayabilir; FPS düşmese de yükleme süreleri artar.
Güle güle kullanın.(not: sabahtan beridir uğraştırdı ama oldu ve güzel oldu)
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15149
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2505 kez
Teşekkür edildi: 5301 kez

Re: TRWE_2012 - Windows Game Mode Paneli v4.3 (PowerShell Sürümü)

Mesaj gönderen TRWE_2012 »

GameMode_Controller v4.3 (Stabil Güvenli Sürüm)

GameMode_Controller v4.3.ps1 (bu sürüm de App/Local dizinini kendisi buluyor ve .JSON dosyasını oluşturuyor)
(Sistem: Windows 11 24H2 x64 Home TR – Stabil FPS Odaklı)

Kod: Tümünü seç

# =============================================
#   TRWE_2012 - Windows Game Mode Paneli v4.3
#   Güvenli & Stabil Sürüm (FPS Optimize)
# =============================================

# JSON yapılandırma dosyası
$configPath = "$env:LOCALAPPDATA\GameMode_Config.json"

# İzlenecek hizmet listesi (SENS ve StorSvc kaldırıldı)
$serviceList = @(
    "bthserv",                              # Bluetooth Destek Hizmeti
    "DeviceAssociationService",             # Aygıt İlişkisi Hizmeti
    "diagnosticshub.standardcollector.service", # Tanı İlkesi Hizmeti
    "FontCache",                            # Windows Yazı Önbelleği Hizmeti
    "PcaSvc",                               # Program Uyumluluk Yardımcı Hizmeti
    "SSDPSRV",                              # SSDP Bulma
    "stisvc",                               # Windows Resim Alma
    "TrkWks",                               # Dağıtılmış Bağlantı İzleme İstemcisi
    "WinHttpAutoProxySvc",                  # WinHTTP Web Proxy Otomatik Bulma Hizmeti
    "WinRM",                                # Windows Uzaktan Yönetim
    "wlidsvc"                               # MS Oturum Açma Yardımcısı
)

# Varsayılan yapılandırma oluşturma (JSON yoksa)
if (-not (Test-Path $configPath)) {
    $defaultConfig = @{}
    foreach ($svc in $serviceList) {
        try {
            $type = (Get-Service -Name $svc -ErrorAction Stop | Get-WmiObject -Class Win32_Service -Filter "Name='$svc'").StartMode
            $defaultConfig[$svc] = $type
        } catch {
            $defaultConfig[$svc] = "Manual"
        }
    }
    $defaultConfig | ConvertTo-Json | Set-Content -Encoding UTF8 $configPath
    Write-Host "`n[!] Yapılandırma dosyası oluşturuldu: $configPath" -ForegroundColor Yellow
}

# JSON yapılandırmasını yükle
$config = Get-Content $configPath | ConvertFrom-Json

function Show-Menu {
    Clear-Host
    Write-Host "============================================="
    Write-Host "      TRWE_2012 - Windows Game Mode Paneli"
    Write-Host "============================================="
    Write-Host "1) Oyun Öncesi Hizmetleri Kapat"
    Write-Host "2) Oyun Sonrası Hizmetleri Aç (Varsayılan Türde)"
    Write-Host "3) Hizmet Durumunu Kontrol Et"
    Write-Host "4) Çıkış"
    Write-Host "---------------------------------------------"
}

function Stop-GameServices {
    Write-Host "`n>>> OYUN ÖNCESİ HİZMETLERİ KAPAT" -ForegroundColor Cyan
    foreach ($svc in $serviceList) {
        try {
            $service = Get-Service -Name $svc -ErrorAction Stop
            if ($service.Status -eq 'Running') {
                Stop-Service -Name $svc -Force
                Write-Host " - $svc durduruldu." -ForegroundColor Red
            } else {
                Write-Host " - $svc zaten kapalı." -ForegroundColor DarkGray
            }
        } catch {
            Write-Host " - $svc sistemde bulunamadı." -ForegroundColor DarkYellow
        }
    }
    Write-Host "`nTamamlandı. Press Enter to continue..."
    Read-Host
}

function Start-GameServices {
    Write-Host "`n>>> OYUN SONRASI HİZMETLERİ AÇILIYOR (Varsayılan Türde)" -ForegroundColor Green
    foreach ($svc in $serviceList) {
        try {
            $service = Get-WmiObject -Class Win32_Service -Filter "Name='$svc'" -ErrorAction Stop
            $defaultType = $config.$svc
            if (-not $defaultType) { $defaultType = "Manual" }

            # Başlatma türünü sıfırla
            sc.exe config $svc start= $defaultType | Out-Null

            # Hem Manual hem Auto servisleri başlat
            Start-Service -Name $svc -ErrorAction SilentlyContinue

            Write-Host " - $svc ($defaultType) başlatıldı." -ForegroundColor Cyan
        } catch {
            Write-Host " - $svc bulunamadı." -ForegroundColor DarkYellow
        }
    }
    Write-Host "`nTüm hizmetler varsayılan durumuna döndürüldü."
    Read-Host "Press Enter to continue..."
}

function Check-GameServices {
    Write-Host "`n>>> HİZMET DURUMU KONTROLÜ" -ForegroundColor Yellow
    Write-Host "----------------------------------------------"

    foreach ($svc in $serviceList) {
        try {
            $service = Get-WmiObject -Class Win32_Service -Filter "Name='$svc'" -ErrorAction Stop
            $status = $service.State
            $startType = $service.StartMode

            switch ($status) {
                "Running"   { $color = "Green" }
                "Stopped"   { $color = "DarkRed" }
                default     { $color = "Gray" }
            }

            if ($startType -eq "Manual") {
                Write-Host (" - {0,-38} : {1,-10} | Başlatma Türü: {2}" -f $svc, $status, $startType) -ForegroundColor DarkBlue
            } else {
                Write-Host (" - {0,-38} : {1,-10} | Başlatma Türü: {2}" -f $svc, $status, $startType) -ForegroundColor $color
            }

        } catch {
            Write-Host " - $svc : SİSTEMDE BULUNMUYOR" -ForegroundColor DarkYellow
        }
    }

    Write-Host "----------------------------------------------"
    Read-Host "Press Enter to continue..."
}

# Ana menü döngüsü
do {
    Show-Menu
    $choice = Read-Host "Seçiminizi yapın (1-4)"

    switch ($choice) {
        1 { Stop-GameServices }
        2 { Start-GameServices }
        3 { Check-GameServices }
        4 { Write-Host "`nÇıkılıyor..." -ForegroundColor Gray; break }
        default { Write-Host "Geçersiz seçim, tekrar deneyin." -ForegroundColor DarkRed; Start-Sleep -Seconds 1 }
    }
} while ($choice -ne 4)
Açıklama:
Bu sürüm, sistem kararlılığını bozmadan oyun performansını artırmayı hedefler.
Hizmetler JSON dosyasına göre yönetilir ve otomatik olarak eski hâline döner.
Tüm işlemler tek tuşla yapılır, renkli durum göstergesi mevcuttur.


Yeni sürümde :

Sistem Etkinlikleri Aracısı (SENS)
Depolama Hizmeti (StorSvc)

servisleri kaldırılmıştır.Bende sorun değil kapatılmaları ama sizde sorun oluşturabilir.Onun için bu iki servis ayarını kaldırdım.
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15149
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2505 kez
Teşekkür edildi: 5301 kez

Re: TRWE_2012 - Windows Game Mode Paneli v4.3 (PowerShell Sürümü)

Mesaj gönderen TRWE_2012 »

Gerçekten kodlama yeteneğimiz ve hevesimiz de var. (eskiden de vardı ama sabır eksik idi, şimdilerde sabır =YZ yardımı şeklini aldı.Yeni öğrenme yolu YZ, eskiden Sordum.net vardı öğrenme yeri (bugün hala var ve Allah(c.c) yokluğunu da göstermesin sordum.net'in ve forum'un))

Burada bir kullanıcının sorunu çözülmüş.Çok sevindim kendi adıma (oradaki : Equilibrium = TRWE_2012'in kendisidir.Yani benim)

[Çözüldü] Ekranı Kilitleyince monitor kapanmasın
https://forum.ubuntu-tr.net/index.php?_ ... #msg662289

Bu da WindowsOS yardımı :

cipher /W:C komutu ile işleminin bittiğini nasıl anlarız?
https://www.yazilimadasi.com/viewtopic.php?t=1041

Yani, özetle yardım etmeyi seviyorum.
Cevapla

“Programlama ve Script dilleri” sayfasına dön