Tags give the ability to mark specific points in history as being important
  • TempCapcomFix   Test Release for Monster Hunter: World

    For best results, get the game to boot w/ Flip Model Presentation (Borderless Fullscreen)

    • Presentation Interval: 1
    • Backbuffers: 3
    • Maximum Device Latency: 4

    SK_MHW_RawInput_Fix.7z

    Mouse and keyboard frame time variance should improve.

  • sk_0_9_23

    Special K v 0.9.23

       ( D3D11 ReShade and various mod features for D3D11 games may not work
           correctly starting with 0.9.23, I will work to get that resolved as 
             quickly as I can )
    
     + Added CPU clock rate to CPU performance widget; will add core parking and
         thermal throttling details in a future release for Windows 10 users.
    
     + Improved recursive file search (SteamAPI DLL location) performance
     + If SpecialK32.pdb or SpecialK64.pdb are not present in a local install,
         SK will attempt to load these form Documents\My Mods\SpecialK\...
     + Sped up Special K boot procedure pretty singificantly
     + Tweaked inefficient Texture Residency driver queries
     + Fixed situations where SK would fetch vertsion info from GitHUb multiple times
     + Fixed sRGB -> RGBA buffer override for Unity games to use flip model
     + Fixed various inconsistent ANSI / Unicode text issues in Unity (debug log)
     + Added CPU core spoofing to the framerate limiter for broken Unity games
    
     + Added HDR luminance control to Special K's OSD so you can see it in an HDR game :P
  • sk_0_9_22

    Special K v 0.9.22

     + Added render-ahead option to framerate limiter to tradeoff latency vs. rate accuracy
     + Fixed achievement popup showing up twice in Smart Capture mode
     + Various D3D11 Deferred Context optimizations
     + Added button to rebalance thread -> CPU assignment to the Threads widget
     + Added data options to the GPU widget's config menu
     + Added Fan RPM to GPU widget
     + Config files only write to disk if they are changed now
  • sk_0_9_21

    Special K v 0.9.21

     + New "Smart Capture" Mode for Steam Screenshots
     ================================================
    
      + High-performance screenshot capture code that does not cause games to hitch
    
       *) Compress lossless .PNG screenshots with or without Special K's OSD
    
        >> Steam cannot store .PNG screenshots, so any lossless screenshots are stored
             separately and you can manage these files using SK's control panel.
    
       *) Set the default Steam screenshot behavior to show/hide SK's OSD
       *) Take HUDless screenshots in D3D11 games (not finished)
       *) Compresses the JPG image imported to Steam using a slightly more advanced
            compressor for better image quality.
    
      ** All of these features are orders of magnitude faster than the Steam overlay's
           built-in screenshot code is! Use them all and still get better performance :P
    
        ---------------
      @ Current support is limited to D3D11 with no on-screen MSAA, sRGB or HDR framebuffers
        ---------------
  • sk_0_9_20
    d90b5e51 · Staging updates for Ys 8 ·

    Special K v 0.9.20

    0.9.20:
    
     (.2): Fixed WMI Memory Perfmon not using the correct PID
     (.2): Added experimental SteamAPI callback thread-sync avoidance for AC:Origins
     (.2): Fixed SteamController issues in Nioh
     (.1): Added proper (keyboard layout-aware) tooltips for prev/next texture
             list in D3D11 render mod toolkit.
    
     + Added D3D11 Constant Buffer injection for Vertex/Pixel/Geometry/Hull/Domain shaders
      >> Allows the manipulation of a game's material system in real-time in the mod tools
    
      @ Compute Shader injection is disabled in this release for stability, it will be
          enabled in a future release.
    
     + Fixed Geometry Shader state leak in D3D11 UI render code for certain games
    
     + Bundled a new build of custom ReShade with improved support for games that render
         into different format / resolution rendertargets than they use for their swapcahain
    
     + Improved support for D3D11 texture resampling (mipmap generation, on-the-fly compression)
         incuding HyperThreading optimization.
    
     + Altered ImGui vertex processing code to align dynamic memory allocation to a 16-byte
         boundary for improved performance in games that use heavy CPU-side transform.
    
      -------------------------
    
        D3D11 Constant Buffer injection is still experimental and will improve over time,
          it is almost identical in function to the D3D9 feature but D3D11 has significantly
            more complicated memory management requirements that make optimization harder.
    
        Altering vertex shader material state is not recommended due to the number of
          draw calls made and vertex instancing, focus most experimentation on pixel shaders
  • sk_0_9_19

    Special K v 0.9.18 / 0.9.19

    0.9.19:
     
     (.1): Fixed hook address cache invalidation if Windows updates a system DLL
    
     + Replaced SteamAPI battery monitoring with actual Win32 API code, and now indicate
         when a laptop battery is charging or discharging and how much runtime is left in
           the framepacing widget.
    
     + Fixed various issues with SpecialK.DENY files and local / global injection
         co-existence (Ctrl + Shift compat. menu works much better).
    
     + Improved support for BC7 texture dumping and injection
     + Added mipmap generation for Ys VIII
     + Added shadowmap resolution boost for Ys VIII
     + Fixed Ni no Kuni 2 memory patterns for anti-stutter mod
     + Added x64 DebugRegister listing to crash handler
     + Added bypass for broken Win32MiniDumpInit in Steam's latest DRM wrapper;
         ( affects 32-bit games only. )
     + Added preliminary Ansel overlay activation detection / prevention
    
    
    0.9.18:
    
     + More work on MinHook stability / performance -- planning a few pull requests!
       ----------------------------------------------------------------------------
    
     + Fixed D3D11 texture cache (missing descriptors) in Elex when trees become
        unbalanced; fullscreen mode transition in this and other games is safer now.
     + Fixed Steam achievement server->client callbacks in Star Ocean 4 and The Witcher 3
     + Turned D3D11 deferred isolation off by default since most games do not need it
     
     + Added real-time stack traces for all running threads to the thread debugger
     + Rewrote debug symbol loading code for better multi-threaded performance
     + Changed Thread-Local Storage to Fiber-Local Storage for UWP compliance
    
     + Added validation of NtLdr DLL paths
        >> Detects AppCompat shims that makes games behave unpredictably
    
     + Fixed NvAPI issues in some third-party (vidcap) software that could break
         hardware monitoring (fan RPM in particular).
     
     =====
      *** Fixed CBT Hook Teardown Broadcast -- it was not running in the 64-bit
            builds and caused many WER faults when upgrading Special K. ***
     =====
  • skk_0_9_17

    Special K v 0.9.17

     + Finished re-writing MinHook's injection core to use MUCH more efficient thread
         suspend / resume.
    
      >> Boot up in some applications is 2-3x faster now and that is 2-3x less time for
           third-party injection to poke its nose where it does not belong while Special K
             is rewriting application code :)
    
     + Fixed various CBT hook issues in global injection; for users who frequently start/stop
         (why?) injection, things should behave better.
    
     + Added Exceptions Raised counter to the Thread Monitor widget; debug feature.
    
      >> Any exception counted here is the "continuable" sort; they generally pose no threat
           to software stability but high exception counts usually indicate a software defect.
  • sk_0_9_16

    Special K v 0.9.16

     (.1): Switched to D3DCompiler_47.dll (built-in)
     (.1): Eliminated unnecessary lock contention during texture uploads
     (.1): Fixed Alt+F4 menu in games that mixup Virtual Key Codes with Character Codes
    
     + Added workaround for systems that do not dispatch user32.dll system calls
         through win32u.dll
     + Added D3D11 Texture Cache residency management, to reduce cache pressure on
         textures that the driver isn't storing in VRAM.
     + Added D3D11 Deferred Context Isolation checkbox to D3D11 settings
     + Added SteamAPI callback count to thread monitoring info
  • sk_0_9_15

    Special K v 0.9.15

     ** Substantial performance and stability gains by switching critical system call
         hooks from User32.dll to their NtUser* counterparts in win32u.dll **
  • sk_0_9_14

    Special K v 0.9.14

     + Added D3DCompiler_43.dll, D3DX11_43.dll and D3DX9_43.dll as compressed .7z
         archives that will be unpacked to a game's directory if a user does not
           have the June 2010 DirectX Redistributables installed.
    
       >> In theory I could now start using D3DCompiler_47.dll, but I'll stick
            with _43 until I need the more advanced features for D3D11 shader modding.
  • sk_0_9_13

    Special K v 0.9.13

     (.3): Added disk read/write info to thread tooltip
     (.2): Added memory info to thread tooltip
     (.1): Assigned names to unnamed threads using debug symbols
    
     + Added a new Threads widget, that lists performance per-thread (kernel/user)
         and can even allow you to suspend individual threads.
    
       >> Suspending threads is dangerous, I expect this feature will be used for
            mod developers only. There is a high likelihood that you will have to
             restart a game to recover after using that.
    
     + Moved SteamAPI support DLLs to PlugIns\ThirdParty\Steamworks\...
     + Added proper Unicode filesystem path translation to SKIM64 for Steam manifests
  • sk_0_9_12

    0.9.12:

     + Updated build of SKIM64 allows installation of standalone Ni No Stutter mod
      - Ni No Stutter is built-in to this release of the global injector
     + Reduced memory consumption for D3D11 shader state tracking
     + No longer write ReservePercent to ini files, it is being phased out
     + Remove Merge-Only Cache Policy from D3D11 Texture Cache
  • sk_0_9_11
    2fe49dfd · Compat. updates ·

    Special K v 0.9.11

     (.1): Fix D3D11 Shader Mod Commands (i.e. D3D11.ShaderMods.ToggleConfig ...)
    
      + Fixed injection-blacklisted games failing to start while global injection is active
      + Fixed DLL init. issues with Far Cry 5 (_after_ Easy Anti-Cheat is worked around)
      + Improved support for shader state tracking in multi-threaded D3D11 engines
      + Added audio gain control (+dB) to volume management for hardware that supports it
  • sk_0_9_10
    77b4d4cc · NiNoKuni2 Enhancements ·

    Special K v 0.9.9 (FFXV) / 0.9.10 (General)

    0.9.10:
    
      + Dynamically adjust NvAPI monitoring thread priority to prevent rare hitching
          when the render thread's priority is != NORMAL
      + Added various options to make Ni No Kuni 2 less annoying; refer to control panel
      + Rolled up all of the changes from the standalone FFXV version (0.9.9)
    
    
    0.9.9:
    
     (.15): Add logging of unexpected ref. counts on texture data to locate FFXV leaks
     (.14): TargetFPS applied at startup again
     (.13): Add merge mode to texture cache -- only prevents duplicate resources
     (.12): Sleep(0) on render thread -> SwitchToThread(); useful for i5 users
     (.11): Workaround for threads that try to skip attach notifications and corrupt TLS
     (.10): Alternate compiler options for better support with Ansel -- again
     (.8): Add persistent storage of settings introduced in .6, and explain them
            [They are actually applied when the engine starts said thread now]
    
     (.6): Add options for thread scheduling; can lower render and VSYNC threads
             to help people with fewer CPU cores in FFXV
    
     (.5): Anti-Debug Workaround for FFXV
    
     (.3): Correctly packed 64-bit version of CEGUI into 64-bit builds :P
    
     (.2): Fixed floating ImGui widgets not saving position in osd.ini
     (.1): Fix issue preventing Special K from identifying and assigning its own
             threads their initial priority (all were running NORMAL but most are
               designed to run at lower priority).
    
     + Disabled compiler options known to cause problems with Ansel; forced to
         replace them with options known to cause issues with MSI Nahimic.
    
     + Prevent FFXV from running SteamAPI with TIME_CRITICAL scheduling and
         starving more important threads that actually use the CPU productively
  • sk_0_9_9

    Special K v 0.9.9

    0.9.9:
    
     (.3): Correctly packed 64-bit version of CEGUI into 64-bit builds :P
     (.2): Fixed floating ImGui widgets not saving position in osd.ini
     (.1): Fix issue preventing Special K from identifying and assigning its own
             threads their initial priority (all were running NORMAL but most are
               designed to run at lower priority).
    
        + Performance may improve for some users
    
     + Disabled compiler options known to cause problems with Ansel; forced to
         replace them with options known to cause issues with MSI Nahimic.
    
     + Prevent FFXV from running SteamAPI with TIME_CRITICAL scheduling and
         starving more important threads that actually use the CPU productively
  • sk_0_9_8

    Special K v 0.9.8

     (.3): Added error message on systems missing June 2010 DirectX Runtimes
    
     (.1): Disable a user's ability to perform software updates using the in-game
             config menu on installs done without SKIM.
     (.1): Add option to disable DXGI_PRESENT_TEST swapchain present for FFXV
    
    
     + Added SteamAPI rate throttling to fix resource load hitches in FFXV
    
       >> Right-click the SteamAPI Frame counter in the control panel to access:
    
           -1 = Unlimited (will hitch)
            0 = Disabled  (no idea what will happen, but probably not good)
           *8 = (Suggested max. for FFXV)
    
    
     + DLL static initialization cleanup (most global scope data is now scoped)
    
        (Dramatic global injection performance speedup)
  • sk_0_9_7
    e4ac2994 · Various FFX fixes ·

    Special K v 0.9.7

     + Added DirectXTex DLL Exports:
    
       * SK_DXTex_GetMetadataFromDDSFile
       * SK_DXTex_LoadFromDDSFile
       * SK_DXTex_CreateTexture
    
         ( Plug-in Authors: Use these instead of D3DX11; refer to updated UnX
                              plug-in for example code )
    
     --
    
     + Fixed ReShade shim loader (1.0.0.3) not correctly invoking LoadLibraryW
     + Reduced volume of crash sound and added a MessageBox if sound is muted
     + Added version info to the kernel DLL unload trace log
     + Added render API and crash info to global DLL's shared data segment
  • sk_0_9_6

    Special K v 0.9.6

    ===========================================================================
     IMPORTANT NOTES REGARDING Final Fantasy XV:
     -------------------------------------------
     
      If you opt to use texture caching, set the limit to your entire VRAM
        capacity, otherwise it will fight with the game's internal cache and
          cause stuttering.
    
      I cannot fix this in time for the game's launch and have disabled texture
         caching by default for this game as an interim solution.
    
     *** Texture modding in D3D11 requires caching to be enabled, so if you see
           no textures in the mod tools, it's probably because caching is OFF.
    ===========================================================================
    
     + Re-enabled IsDebuggerAttached (...) spoofing to allow FFXV to be run
         through a normal debugger (i.e. not Cheat Engine) without bailing out
     + Optimized D3D11 shader cache for games that create the same shader
         concurrently across multiple threads
  • sk_0_9_5

    Special K v 0.9.5

    0.9.5:
     (.2): Defer initialization of D3D11 texture management until D3D11 is actually
             used :P
     (.2): Improve AppCache generation on first execution of games w/ launchers
    
     -----------------------------------------------------------
     *** It is STRONGLY suggested that you delete the directory:
    
           Documents\My Mods\SpecialK\Profiles\AppCache
    
         after receiving this update ***
     -----------------------------------
    
     (.1): Partitioned scratch memory per-thread for D3D shader disassembly,
             ini parser, command processor and debug stack traces for faster startup
    
     (.1): Fixed various rare NvAPI issues
     (.1): Upon successful shutdown, crash.log is deleted again
     (.1): All Steam AppID resolution cache data is stored in Profiles\AppCache\... now
    
     + Replaced kernel scheduling resolution tricks with Multimedia Class Scheduler
    
      >> This will increase battery life on mobile systems (versus the old code),
           and should not have a measurable impact on framerate limiter performance.
    
    
    0.9.4:
    
    (.3) Ignore D3D9 video playback in Atelier Firis (a D3D11 game)
    (.3) Disabled automatic steam_appid.txt generation
    (.3) Disabled code to automatically bring a game's window to the foreground at
           start, it was causing too many compat. issues.
  • sk_0_9_4

    Special K v 0.9.4

    (.2) Tweaked global injection behavior for certain non-standard Windows apps
    
     + Added more detailed pixel format information to SK's log in D3D11 games.
     + Added logging of unloaded DLLs to SK's log
     + Improved the reliability of using auto-update and branch selection
         features from the Update menu in-game.
    
       >> Please give these a try, I know of a few Unity games that don't handle
            window management correctly and they're forever WONTFIX, but if you
              encounter errors with other games, I'll be happy to investigate.
    
     + "Borrowed" an environment variable exported by the Steam client to get
         game's AppID without booting up SteamAPI.