Skip to content

Releases: King4s/OptiScaler-GUI

OptiScaler-GUI v0.3.6 - Speed & Beauty Update

14 Nov 20:46

Choose a tag to compare

Changelog

[Unreleased]

v0.3.6 - 2025-11-14

Improvements

  • UI performance: background image loading, reduce main-thread work, batch widget updates.
  • Library discovery: PowerShell support, pure-Python fallback, path normalization, TTL caching, Dedup.
  • UX: Rescan, Clear discovery cache moved to Settings, small debug indicator, Log back navigation.
  • Stability: fixed Tk redraw race conditions and scheduled safer widget destruction.

Fixes

  • Avoid segmented drawing on the main window by moving image processing off the main thread.
  • Fixed syntax error in LibraryRootsFrame import callback.
  • Avoid auto rescans when returning from Settings; initial startup forces a rescan.

🔄 OptiScaler v0.7.9 Compatibility Update

Compatibility

  • Expanded Support: Updated to support OptiScaler v0.7.0 - v0.7.9 (previously v0.7.0 - v0.7.7-pre9)
  • FSR 4.0.2 Support: Ready for FidelityFX SDK 2.0.0 and FSR 4.0.2/3.1.5 files
  • Game Quirks: Aligned with latest OptiScaler game-specific workarounds

Important v0.7.9 Changes

  • DLSS Inputs Behavior: No longer creates nvngx.dll when user selects "Yes" to DLSS Inputs (AMD/Intel)
    • Only modifies Dxgi=false when user selects "No"
    • Reduces installation complexity and redundant files
  • Configuration Updated: Default config reflects latest OptiScaler structure

🔎 Library Discovery & Scanning Improvements

  • PowerShell Game Library Detection (Windows): Optional PowerShell-based PoC for enumerating launchers and library roots (used by default when available/enabled).
  • Pure-Python Fallback: Registry-based fallback (Uninstall keys), WinRT Appx enumeration, psutil/drive heuristics, and VDF support for robust discovery when PowerShell isn't available.
  • Steam libraryfolders.vdf parsing: Try vdf.loads, then JSON parse, with a KV fallback parser to handle old Valve KeyValue format.
  • Path normalization & deduplication: Normalizes paths for case-insensitive deduplication while preserving original path casing in outputs.
  • Caching (TTL): Discovery results cached - configurable TTL under library_discovery_cache_ttl (default 86400s = 24 hours).
  • UI Updates: 'Rescan' and 'Clear discovery cache' buttons added; summary displays 'Scanned X libraries' with breakdown and last-scan time.
  • Safety & Exclusions: Drive exclusion config and shallow scans for registry/Appx enumerations to avoid unsafe deep scans.

Files

  • Updated README.md: Version compatibility table now includes v0.7.9
  • Updated .github/copilot-instructions.md: Added v0.7.9 compatibility notes
  • Enhanced OptiScalerManager: Added v0.7.9+ file support and documentation

0.3.5 - 2025-07-30

🎯 Ultra-Compact Release - 66% Size Reduction

Size Optimization

  • Dramatic Size Reduction: From 143 MB down to 48 MB (66% smaller!)
  • Dependency Optimization: Removed heavy libraries (NumPy, SciPy, OpenBLAS)
  • Minimal Environment: Created ultra-lean build environment with only essential packages
  • Cache Exclusion: Prevented bundling of unnecessary cache files in portable build

Technical Improvements

  • Aggressive Excludes: Removed 36+ MB OpenBLAS library and related dependencies
  • Essential-Only Build: CustomTkinter, Requests, Pillow, CTkMessagebox, VDF, psutil
  • Smart PyInstaller Config: Enhanced build_executable.spec with optimized excludes
  • Minimal Python Runtime: Streamlined Python 3.12 environment

User Experience

  • Faster Downloads: 66% smaller portable package
  • Reduced Storage: Less disk space required
  • Same Functionality: All features preserved while dramatically reducing size
  • Improved Distribution: Easier to share and deploy

Technical Details

  • Built with minimal conda environment (optiscaler-minimal)
  • Removed mathematical libraries not needed for GUI operations
  • Optimized PyInstaller configuration for size-critical deployment
  • Maintained full compatibility with all OptiScaler versions (v0.7.0 - v0.7.7-pre9)

0.2.0 - 2025-07-25

Added

  • Debug Control System: Toggle debug output via checkbox in header bar
  • Internationalization (i18n): Complete support for English, Danish, and Polish
  • Progress Bar System: Real-time progress indicators in footer for downloads/installations
  • Enhanced UI Structure: Header with version info, language selector, and debug toggle
  • Uninstall Functionality: Complete OptiScaler removal with smart detection
  • Standalone App Support: PyInstaller build system with build.py and build.bat
  • Smart Installation Detection: Dynamic install/uninstall buttons based on status
  • Enhanced Settings Editor: Better layout with descriptions and proper navigation

Fixed

  • Back Button Navigation: Fixed blank window issue when returning from settings
  • Debug Output Control: Debug messages now properly controlled via UI toggle
  • Settings Editor Layout: Improved organization with frames and descriptions
  • Game List Refresh: UI updates properly after install/uninstall operations

Technical Improvements

  • Modular Architecture: Clean separation with utils/ for cross-cutting concerns
  • Debug System: Monkey-patched print function with UI control
  • Translation System: Easy to extend with new languages
  • Error Handling: Comprehensive error dialogs and user feedback
  • Path Management: Better handling for both script and executable modes

0.1.0 - 2025-07-24

Added

  • Initial project setup with modular folder structure.
  • Game scanning for Steam, Epic Games, GOG, and Xbox (common paths).
  • Basic GUI to display discovered games.
  • OptiScaler installation functionality (downloads and extracts latest release).
  • INI file editor with comment parsing and dynamic widget rendering based on setting types (boolean, options, string, int, float).

v0.3.5: Ultra-Compact Portable - 66% Size Reduction

29 Jul 23:22

Choose a tag to compare

🎯 Ultra-Compact Release - 66% Size Reduction

Size Optimization

  • Dramatic Size Reduction: From 143 MB down to 48 MB (66% smaller!)
  • Dependency Optimization: Removed heavy libraries (NumPy, SciPy, OpenBLAS)
  • Minimal Environment: Created ultra-lean build environment with only essential packages
  • Cache Exclusion: Prevented bundling of unnecessary cache files in portable build

Technical Improvements

  • Aggressive Excludes: Removed 36+ MB OpenBLAS library and related dependencies
  • Essential-Only Build: CustomTkinter, Requests, Pillow, CTkMessagebox, VDF, psutil
  • Smart PyInstaller Config: Enhanced build_executable.spec with optimized excludes
  • Minimal Python Runtime: Streamlined Python 3.12 environment

User Experience

  • Faster Downloads: 66% smaller portable package
  • Reduced Storage: Less disk space required
  • Same Functionality: All features preserved while dramatically reducing size
  • Improved Distribution: Easier to share and deploy

Technical Details

  • Built with minimal conda environment (optiscaler-minimal)
  • Removed mathematical libraries not needed for GUI operations
  • Optimized PyInstaller configuration for size-critical deployment
  • Maintained full compatibility with all OptiScaler versions (v0.7.0 - v0.7.7-pre9)

OptiScaler-GUI v0.3.0 - Early Development Release with Portable Support

29 Jul 20:25

Choose a tag to compare

🧪 Early Development Release v0.3.0

⚠️ Important: This is an early development version - test thoroughly before using on important games!

New Features in v0.3.0

Experimental Portable Version

  • PyInstaller Support: First version with portable functionality
  • Bundled Dependencies: All necessary libraries included
  • Bundled 7z.exe: Complete archive extraction support (~0.54MB)
  • Multi-language Support: Danish, English, Polish

Enhanced OptiScaler Detection

  • Unreal Engine Support: Detects OptiScaler in Engine/Binaries/Win64
  • Improved Game Scanner: More robust detection methods
  • Real-time UI Updates: Interface updates after installation/uninstallation

Advanced Archive Extraction

  • Multi-Method Fallback: System 7z Bundled 7z py7zr zipfile
  • Complete Compatibility: Handles all OptiScaler archive formats
  • Enhanced Error Handling: Detailed feedback and recovery options

How to Use the Portable Version

  1. Download: Get OptiScaler-GUI-v0.3.0-Portable.zip
  2. Extract: Unzip the entire folder to your desired location
  3. Run: Double-click OptiScaler-GUI.exe inside the extracted folder

Testing Warnings:

  • This is an early development version (0.3.0)
  • Not tested on other systems yet
  • Use at your own risk
  • Please report bugs on GitHub

Technical Details

  • Size: ~136.7 MB (portable ZIP)
  • Platform: Windows Only
  • Dependencies: All included (Python runtime, libraries, 7z.exe)
  • Languages: Danish, English, Polish

** Thanks for testing OptiScaler-GUI v0.3.0!**

Please report bugs and feedback on the GitHub repository.

OptiScaler GUI v0.2.0 - Robust Architecture

29 Jul 17:08

Choose a tag to compare

🚀 First Official Release - Robust Architecture

✨ Key Features:
• Multi-tier archive extraction (7z → py7zr → zipfile fallback)
• Automatic system requirements validation
• Cross-platform compatibility
• User-friendly error messages
• Professional GUI interface

🎯 Works for ALL users regardless of system configuration!

Ready to make OptiScaler accessible to everyone! 🎮