@echo off setlocal EnableExtensions EnableDelayedExpansion title Performancify GPU Tweaks color 0F cls set "LOG=%~dp0Performancify_GPU_Log.txt" for /f %%T in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "STAMP=%%T" echo. echo ================================================== echo Performancify GPU Tweaks echo ================================================== echo. echo Detecting GPU and applying safe performance tweaks... echo. net session >nul 2>&1 if not "%errorlevel%"=="0" ( echo [ERROR] Run this file as Administrator. echo. pause exit /b ) echo [+] Creating restore point... powershell -NoProfile -ExecutionPolicy Bypass -Command "try { Checkpoint-Computer -Description 'Performancify GPU Tweaks' -RestorePointType 'MODIFY_SETTINGS' } catch {}" >> "%LOG%" 2>&1 echo [+] Backing up GPU-related registry keys... reg export "HKCU\Software\Microsoft\DirectX\UserGpuPreferences" "%~dp0Performancify_GPU_UserPrefs_Backup_%STAMP%.reg" /y >> "%LOG%" 2>&1 reg export "HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" "%~dp0Performancify_GraphicsDrivers_Backup_%STAMP%.reg" /y >> "%LOG%" 2>&1 echo. echo [+] Detecting graphics card... for /f "delims=" %%G in ('powershell -NoProfile -Command "$g=(Get-CimInstance Win32_VideoController).Name; [string]::Join(' / ', $g)"') do set "GPU_NAME=%%G" echo Detected GPU: echo %GPU_NAME% echo. set "GPU_VENDOR=UNKNOWN" echo %GPU_NAME% | findstr /i "NVIDIA GeForce RTX GTX" >nul && set "GPU_VENDOR=NVIDIA" echo %GPU_NAME% | findstr /i "AMD Radeon RX" >nul && set "GPU_VENDOR=AMD" echo %GPU_NAME% | findstr /i "Intel UHD Iris Arc" >nul && set "GPU_VENDOR=INTEL" echo Vendor: %GPU_VENDOR% echo. timeout /t 2 >nul cls :MENU cls echo ================================================== echo Performancify GPU Tweaks echo ================================================== echo. echo Detected GPU: %GPU_NAME% echo Vendor: %GPU_VENDOR% echo. echo [1] Apply Safe GPU Performance Tweaks echo [2] Add Game EXE To High Performance GPU echo [3] Clear GPU / DirectX Shader Cache echo [4] Show Best Settings For My GPU echo [5] Open GPU Control Panel echo [6] Optional: Disable MPO Display Overlay echo [7] Exit echo. set /p choice="Choose an option: " if "%choice%"=="1" goto SAFE_TWEAKS if "%choice%"=="2" goto GAME_GPU if "%choice%"=="3" goto SHADER_CACHE if "%choice%"=="4" goto GPU_SETTINGS if "%choice%"=="5" goto OPEN_PANEL if "%choice%"=="6" goto MPO if "%choice%"=="7" goto END goto MENU :SAFE_TWEAKS cls echo ================================================== echo Applying Safe GPU Performance Tweaks echo ================================================== echo. echo [+] Enabling Game Mode... reg add "HKCU\Software\Microsoft\GameBar" /v "AllowAutoGameMode" /t REG_DWORD /d 1 /f >> "%LOG%" 2>&1 reg add "HKCU\Software\Microsoft\GameBar" /v "AutoGameModeEnabled" /t REG_DWORD /d 1 /f >> "%LOG%" 2>&1 echo [+] Disabling Game DVR recording... reg add "HKCU\System\GameConfigStore" /v "GameDVR_Enabled" /t REG_DWORD /d 0 /f >> "%LOG%" 2>&1 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR" /v "AppCaptureEnabled" /t REG_DWORD /d 0 /f >> "%LOG%" 2>&1 reg add "HKCU\Software\Microsoft\GameBar" /v "ShowStartupPanel" /t REG_DWORD /d 0 /f >> "%LOG%" 2>&1 reg add "HKCU\Software\Microsoft\GameBar" /v "UseNexusForGameBarEnabled" /t REG_DWORD /d 0 /f >> "%LOG%" 2>&1 echo [+] Enabling Hardware Accelerated GPU Scheduling... reg add "HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" /v "HwSchMode" /t REG_DWORD /d 2 /f >> "%LOG%" 2>&1 echo [+] Setting gaming multimedia profile... reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" /v "SystemResponsiveness" /t REG_DWORD /d 10 /f >> "%LOG%" 2>&1 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile" /v "NetworkThrottlingIndex" /t REG_DWORD /d 4294967295 /f >> "%LOG%" 2>&1 echo [+] Setting Games task priority... reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games" /v "GPU Priority" /t REG_DWORD /d 8 /f >> "%LOG%" 2>&1 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games" /v "Priority" /t REG_DWORD /d 6 /f >> "%LOG%" 2>&1 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games" /v "Scheduling Category" /t REG_SZ /d "High" /f >> "%LOG%" 2>&1 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games" /v "SFIO Priority" /t REG_SZ /d "High" /f >> "%LOG%" 2>&1 echo [+] Applying power settings... powercfg /setacvalueindex SCHEME_CURRENT SUB_PCIEXPRESS ASPM 0 >> "%LOG%" 2>&1 powercfg /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX 100 >> "%LOG%" 2>&1 powercfg /setactive SCHEME_CURRENT >> "%LOG%" 2>&1 echo. echo [OK] GPU performance tweaks applied. echo Restart your PC after finishing. echo. pause goto MENU :GAME_GPU cls echo ================================================== echo Add Game To High Performance GPU echo ================================================== echo. echo Drag your game's .exe file into this window and press Enter. echo Example: echo FortniteClient-Win64-Shipping.exe echo VALORANT-Win64-Shipping.exe echo. set /p GAMEEXE="Game EXE path: " set "GAMEEXE=%GAMEEXE:"=%" if not exist "%GAMEEXE%" ( echo. echo [ERROR] File not found. echo Make sure you dragged the actual .exe file. echo. pause goto MENU ) echo. echo [+] Setting this game to High Performance GPU... reg add "HKCU\Software\Microsoft\DirectX\UserGpuPreferences" /v "%GAMEEXE%" /t REG_SZ /d "GpuPreference=2;" /f >> "%LOG%" 2>&1 echo. echo [OK] Added: echo %GAMEEXE% echo. echo Windows will now prefer the dedicated GPU for this game. echo. pause goto MENU :SHADER_CACHE cls echo ================================================== echo Clearing GPU Shader Caches echo ================================================== echo. echo Close games before running this. echo. echo [+] Clearing DirectX cache... del /s /f /q "%LOCALAPPDATA%\D3DSCache\*" >> "%LOG%" 2>&1 if "%GPU_VENDOR%"=="NVIDIA" ( echo [+] Clearing NVIDIA shader cache... del /s /f /q "%LOCALAPPDATA%\NVIDIA\DXCache\*" >> "%LOG%" 2>&1 del /s /f /q "%LOCALAPPDATA%\NVIDIA\GLCache\*" >> "%LOG%" 2>&1 del /s /f /q "%ProgramData%\NVIDIA Corporation\NV_Cache\*" >> "%LOG%" 2>&1 ) if "%GPU_VENDOR%"=="AMD" ( echo [+] Clearing AMD shader cache... del /s /f /q "%LOCALAPPDATA%\AMD\DxCache\*" >> "%LOG%" 2>&1 del /s /f /q "%LOCALAPPDATA%\AMD\GLCache\*" >> "%LOG%" 2>&1 del /s /f /q "%LOCALAPPDATA%\AMD\VkCache\*" >> "%LOG%" 2>&1 ) if "%GPU_VENDOR%"=="INTEL" ( echo [+] Clearing Intel shader cache... del /s /f /q "%LOCALAPPDATA%\Intel\ShaderCache\*" >> "%LOG%" 2>&1 ) echo. echo [OK] Shader cache cleaned. echo First game launch may stutter for a little while because shaders rebuild. echo. pause goto MENU :GPU_SETTINGS cls echo ================================================== echo Best GPU Settings echo ================================================== echo. if "%GPU_VENDOR%"=="NVIDIA" ( echo NVIDIA Recommended Settings: echo. echo Open NVIDIA Control Panel: echo Manage 3D Settings echo. echo Power Management Mode: Prefer Maximum Performance echo Low Latency Mode: On echo Texture Filtering Quality: High Performance echo V-Sync: Off echo Triple Buffering: Off echo Shader Cache Size: Driver Default or Unlimited echo Max Frame Rate: Off unless you cap FPS in-game echo Preferred Refresh Rate: Highest Available echo OpenGL Rendering GPU: Your NVIDIA GPU echo. ) if "%GPU_VENDOR%"=="AMD" ( echo AMD Radeon Recommended Settings: echo. echo Open AMD Adrenalin: echo Gaming - Graphics echo. echo Radeon Anti-Lag: On echo Radeon Chill: Off echo Radeon Boost: Off unless you want dynamic resolution echo Wait for Vertical Refresh: Always Off echo Texture Filtering Quality: Performance echo Surface Format Optimization: On echo Tessellation Mode: AMD Optimized echo OpenGL Triple Buffering: Off echo. ) if "%GPU_VENDOR%"=="INTEL" ( echo Intel Recommended Settings: echo. echo Open Intel Graphics Command Center: echo. echo Power Mode: Maximum Performance echo V-Sync: Off if available echo Game optimization: On if available echo Make sure your game is set to High Performance GPU in Windows. echo. ) if "%GPU_VENDOR%"=="UNKNOWN" ( echo Could not detect NVIDIA, AMD, or Intel clearly. echo Use option 2 to set your game EXE to High Performance GPU. ) echo. pause goto MENU :OPEN_PANEL cls echo ================================================== echo Opening GPU Control Panel echo ================================================== echo. if "%GPU_VENDOR%"=="NVIDIA" ( echo Opening NVIDIA Control Panel... start "" "nvcplui.exe" ) if "%GPU_VENDOR%"=="AMD" ( echo Opening AMD Software... start "" "amd-software:" start "" "C:\Program Files\AMD\CNext\CNext\RadeonSoftware.exe" ) if "%GPU_VENDOR%"=="INTEL" ( echo Opening Intel Graphics Command Center... start "" "ms-windows-store://pdp/?ProductId=9PLFNLNT3G5G" ) if "%GPU_VENDOR%"=="UNKNOWN" ( echo Unknown GPU vendor. Opening Windows graphics settings... start ms-settings:display-advancedgraphics ) echo. pause goto MENU :MPO cls echo ================================================== echo Optional Display Overlay Tweak echo ================================================== echo. echo This disables MPO, also called Multiplane Overlay. echo It can help with NVIDIA flicker/stutter for some people. echo It can also do nothing, so only use it if needed. echo. echo [1] Disable MPO echo [2] Restore MPO Default echo [3] Back echo. set /p mpochoice="Choose: " if "%mpochoice%"=="1" ( reg add "HKLM\SOFTWARE\Microsoft\Windows\Dwm" /v "OverlayTestMode" /t REG_DWORD /d 5 /f >> "%LOG%" 2>&1 echo. echo [OK] MPO disabled. Restart required. pause goto MENU ) if "%mpochoice%"=="2" ( reg delete "HKLM\SOFTWARE\Microsoft\Windows\Dwm" /v "OverlayTestMode" /f >> "%LOG%" 2>&1 echo. echo [OK] MPO restored to default. Restart required. pause goto MENU ) goto MENU :END cls echo ================================================== echo Performancify GPU Tweaks Finished echo ================================================== echo. echo Restart your PC for all GPU tweaks to fully apply. echo Log saved here: echo %LOG% echo. pause exit /b