Initially designed as a small helper application for RivaTuner graphics card utility, RivaTuner Statistics Server became de-facto framerate monitoring, On-Screen Display and high-performance videocapture service provider for other graphics card utilities.

Features

  • The server provides framerate and frametime monitoring support to the client applications. Framerate and frametime statistics is being collected for DirectX, OpenGL and VULKAN applications. The statistics can be rendered in On-Screen Display or provided to client applications connected to the server.
  • The server provides 3D acceleration usage statistics to the client applications. The clients can use the statistics to determine if any 3D applications are currently running and apply different hardware profiles depending on it.
  • The server provides On-Screen Display support to the client applications. The clients can display any text info in the On-Screen
  • Display in DirectX and OpenGL applications. The server can be also used as a standalone framerate monitoring solution and display own framerate statistics in the On-Screen Display.
  • The server provides desktop and in-game screen capture support to the client applications. BMP, PNG and JPG screen capture formats are supported.
  • The server provides high-performance real-time desktop and in-game video capture support to the client applications.
  • Uncompressed, high-performance custom RTV1 and native MJPG video encoding, encoding with third-party external VFW compatible codecs (e.g. Lagarith or x264vfw) and hardware accelerated H.264 encoding via Intel QuickSync, NVIDIA NVENC and AMD VCE are supported in conjunction with wide range of additional video capture related options, multisource stereo and multichannel (for Window Vista and newer) audio capture with Push-To-Talk support. The functionality of expensive commercial video capture products is now available to everyone absolutely for free! There is no need to buy dedicated video capture software anymore!
  • Framerate limiting support. Limiting the framerate during gaming can help to reduce the power consumption as well as it can improve gaming experience due to removing unwanted micro stuttering effect caused by framerate fluctuations.
  • User extendable architecture. You may express your creativity and design your own skins for RivaTuner Statistics Server, create localization for your native language, use the server to display any custom text in On-Screen Display directly from your own application and many, many more!

Know Limitations:

  • RivaTuner Statistics Server can be incompatible with some third-party On-Screen Display software (e.g. XFire or Steam In-Game Chat). The limitation is not specific to our product, many third-party products are designed to be the only On-Screen Display products in the system and to block their own functionality when any other On-Screen Display software is running
  • Anticheat systems of some online games may restrict On-Screen Display usage and block connection to the server when the RivaTuner Statistics Server is running
  • RTV1 encoder performance in 64-bit applications is currently lower than in 32-bit applications
  • Stealth hooking mode is currently not supported in 64-bit applications, so it is strongly not recommended to run other 64-bit OnScreen Display software in conjunction with RivaTuner Statistics Server

System Requirements:

  • Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 or Windows 11 (both x86 and x64 versions) with full administrative rights
  • Any DirectX, Vulkan or OpenGL compatible graphics card

What's New

  • Ported to VC++ 2022 compiler. Please take a note that due to this change RivaTuner Statistics Server will no longer be able to start under Windows XP. Please stay on the previous versions of the product if you need this OS support
  • Please take a note that size of mandatory VC++ 2022 runtime redistributables roughly doubled comparing to the previously used VC++ 2008 redistributables, and we'd like to avoid providing overblown application distributive, drastically increased in size due to bundling newer and much heavier VC++ redistributables with it. To deal with this issue we provide our own original tiny web installer for VC++ redistributables, which allowed decreasing the size of final application distributive drastically even comparing to the previous VC++ 2008 based version. Please take a note that install time can be increased slightly due to downloading VC++ 2022 runtimes redistributables on the fly during installation. If you install RivaTuner Statistics Server offline, you can always deploy required VC++ 2022 distributives later with web installer by launching .\Redist\VCRedistDeploy.bat
  • Fixed issue in asynchronous skin scaling implementation, which could cause deadlocked RTSS.exe to stay in memory after closing application with [x] button from skinned GUI when skin scaling was enabled
  • Fixed issue in RTSS desktop video capture module, which caused some cursor shapes to be captured improperly (e.g. ][ cursor displayed when hovering over edit boxes)
  • Added extra synchronization to detours uninstallation implementation to minimize risk of crashing on attempt to exit RivaTuner Statistics Server during a game runtime when driver level framerate limiter is active and "Use Microsoft Detours API hooking" option is enabled
  • Height of application profile names in application profiles list is now scaled properly when you adjust skin scaling ratio
  • Now RivaTuner Statistics Server reinitializes skin scaling engine on DPI scaling change events to prevent cases when GUI looks cut off in some cases (e.e. after switching between display resolutions with different DPI scaling settings)
  • Now uninstaller removes configuration files for OverlayEditor, HotkeyHandler and DesktopOverlayHost when you choose clean uninstallation mode. Please take a note that your own overlay layouts stored inside .\Plugins\Client\Overlays folder will never be removed during uninstallation by design
  • Now RivaTuner Statistics Server ignores its own process and DesktopOverlayHost in screen and videocapture requests. So you no longer see unwanted screenshots or videos captured from OverlayEditor's or DesktopOverlayHost's 3D windows when you open them simultaneously with other 3D applications and initiate screen or video capture
  • A few improvements in delayed injection implementation, aimed to minimize cases when delayed injection needs to wait for keyboard or mouse input event to be triggered:
  • Now delayed injection events are excluded from filtering by minimum allowed reinjection interval
  • Now delayed injection events are invoked by dummy window creation instead of posting dummy system message
  • Added EOSSDK-Win64-Shipping.dll to the list of delayed injection trigger modules to enable delayed injection for the games compiled with Epic SDK, but using delayed loading of Epic overlay hook module
  • Improved IgnoreDXGIInterop profile entry functionality. Previously this entry was used to ignore interoperability DXGI flips in OpenGL/Vulkan presentation environment, now it can be set to 2 to achieve opposite effect: ignore OpenGL/Vulkan presentation and favor DXGI instead. Such mode can be used if you prefer to use Direct3D overlay rendering implementation in native OpenGL/Vulkan applications using OpenGL/Vulkan<->DXGI interoperability. Currently RivaTuner Statistics Server enables such mode via application profile for NvRemixBridge.exe only to address native Vulkan renderer's incompatibility with NVIDIA's Vulkan Frame Generation implementation in Portal Prelude RTX
  • Slightly optimized the process of ignoring interoperability DXGI flips in OpenGL/Vulkan presentation environment. Previously DXGI flips were ignored after rendering the first overlay frame on interop DXGI swapchain, now Direct3D overlay renderer is not initialized in such environment at all
  • Added late initialization of bootstrapped objects aimed to improve Vulkan hooking reliability in the applications dynamically loading vulkan-1.dll (e.g. Ryujinx or Rage 2) on the systems with multiple installed third party Vulkan layers
  • Improved hypertext parser:
  • Image loading
  • hypertext tag handler has been improved to allow loading embedded images from external folders
  • Now hypertext parser supports application specific embedded images. You may use this feature to display game specific logos in your overlay layouts. ovl layout included into distributive demonstrates this technique by displaying game specific logos for Escape From Tarkov, Forza Horizon 5 and Ratchet and Clank : Rift Apart
  • Now hypertext parser accepts both ANSI and UTF-8 encoded degree Celsius symbol
  • Added new rendering style for embedded graph objects - bar range graphs. New style is the subset of previously existing barchart, but it is aimed to visualize the range instead of a single value. Please take a note that bar range graphs cannot be attached to arbitrary data sources, it requires specifically encoded data sources containing both min and max range limits packed inside each data sample. Currently NVIDIA Reflex timespan data sources group (see below) are the only ones using such packed data format, compatible with bar range graphs
  • Added NVIDIA Reflex latency markers support:
  • Added NVIDIA Reflex latency markers monitoring for Direct3D11/Direct3D12 applications with native NVIDIA Reflex support. Reflex latency markers are embedded into the games as a part of NVIDIA Reflex technology integration process. The markers are allowing game developers and NVIDIA Reflex software infrastructure to track precise timings of different stages of rendering pipeline and estimate the effect of enabling Reflex low-laterncy mode. Now such markers can be also analyzed via RivaTuner Statistics Server. Furthermore, RivaTuner Statistics Server also exports raw NVIDIA Reflex latency markers as is via shared memory to third party client applications (e.g. HwInfo, AIDA64 or CapFrameX), so such applications also get easy access to Reflex latency markers and can visualize them or calculate additional statistics based on raw markers
  • Added NVIDIA Reflex latency markers injection for Direct3D11/Direct3D12 applications with no NVIDIA Reflex support. Please take a note that injected simulation related latency markers can be inaccurate if the game is not starting simulating world in render thread immediately after presenting the previous frame
  • Added ID3D11DeviceContext::ClearRenderTargetView hook for render submission start related NVIDIA Reflex latency markers injection in Direct3D11 applications
  • ID3D12CommanQueue::ExecuteCommandLists hook is now always active and used for render submission start related NVIDIA Reflex latency markers injection in Direct3D12 applications. Now this hook forcibly uses Detours injection mode to improve concurrent command queue hooking reliability
  • Improved framerate limiter:
  • Added new framerate limiting mode : NVIDIA Reflex mode. In this mode RivaTuner Statistics Server completely disables its own precise framepacing implementation and uses NVIDIA's own framerate limiter instead. This mode is mainly intended to be used in conjunction with DLSS Frame Generation, which is generally not compatible with any third party framerate limiters. However you can also use this mode in the games with no native NVIDIA Reflex support, because enabling NVIDIA Reflex framerate limiter in such titles will also enable Reflex low-latency mode as a side effect. Please take a note that NVIDIA Reflex framerate limiting mode is currently supported on NVIDIA GPUs and in Direct3D11/Direct3D12 applications only. If you try to enable it on unsupported hardware on in unsupported applications, RivaTuner Statistics Server will fall back to default async framerate limiting mode
  • Default passive waiting threshold has been decreased from 90% to 70%
  • Minimum active waiting time limit is no longer hardcoded, it can be customized by power users via profile now
  • Added alternate high resolution waitable timer implementation for Windows 10 1803 and later
  • Added experimental interleaved passive waiting implementation. In this mode passive waiting can be performed on each N-th frame instead of every frame to tune balance between precision and power consumption
  • Now you may right click framerate limit edit field to display the context menu. The menu allows you to select precise refresh rates of each connected display (so you can use it to simplify the process of setting up hybrid scanline sync mode) or select VRR cap calculated as 95% of each connected display's refresh rate. Please take a note that the previous alternate way of setting framerate limiter to precise refresh rate of desired display is still supported too. You may hold and click framerate limit edit field to set it to refresh rate of display showing RivaTuner Statistics Server's window
  • Added experimental preemptive waiting implementation. Power users may use it in hybrid scanline syncmode in conjunction with front edge sync framerate limiting mode to shift balance between front edge sync (favors tearline stability) and back edge sync (favors latency) mode
  • Improved scanline sync technology:
  • Now specified framerate limit is automatically multiplied or divided by 2 if you select scanline sync 2x or x/2 modes when hybrid mode is enabled. So it is no longer necessary to specify double or half refresh rate value as a framerate limit manually for such usage scenario
  • Now you may right click scanline sync edit field to display the context menu. The menu allows you to select target display device for scanline synchronization in multimonitor environment. It is no longer necessary to specify it manually via SyncDisplay profile entry
  • Improved OverlayEditor plugin:
  • Fixed keyboard based layer position adjustment when "Snap to grid" option is disabled
  • Fixed buffer overrun in OverlayEditor's GUI, causing it to crash when total text length displayed in "Cell" column of "Text table properties" window was longer than 260 symbols
  • Fixed Intel IGCL GPU enumeration routine, causing additional ghost GPU to be detected on the systems with multiple Intel GPUs
  • Fixed status bar panes and hypertext debugger panel rendering for high DPI scaling modes
  • Added experimental support for mobile AMD Ryzen 7xxx CPUs
  • Now OverlayEditor supports saving overlay layouts to or loading overlay layouts from external folders. To allow you to differentiate local (i.e. stored inside .\Plugins\Client\Overlays) and external layouts, local layouts will be displayed as naked filename only in editor's window caption (e.g. "Overlay editor - sample.ovl"), while external layouts will be displayed with full filepath