Windows is notorious for its ever-growing bloatware, third-party telemetry, excessive context switching, interrupts and I/O (1, 2). This repository was created in hope of standardizing systems for latency-sensitive tasks and minimizing unwanted outgoing traffic. Note that the OS-related sections aren't indented to be followed on existing Windows installations. On the contrary, the mentioned sections will guide you to customize an official Windows ISO using DISM then reinstall Windows which is necessary to eliminate apparent inconsistencies between systems. Users are expected to follow the guidance in the order listed below, starting with Physical Setup through to Post-Install Instructions.
The contents and information included in this repository will inevitably change over time. To stay up to date, it is recommended to review what has changed once in a while. At the time of reviewing, take a note of the 7 digit SHA code in the latest commit (e.g. 2428150
) then use the URL below as an example to compare what has changed since the noted commit.
https://github.com/amitxv/PC-Tuning/compare/2428150..main
Before diving into the main content, it is important to learn and understand how to benchmark properly and what the appropriate tools for a given task are as you will need to carry out your own experiments throughout the guide to assist in decision-making (e.g. settings to use, verify performance scaling) rather than blindly applying settings. A non-exhaustive list of factors to consider are noted below.
- FrameView - PC Latency in games that support PC Latency Stats and frame pacing. Uses a proprietary version of PresentMon for underlying data collection
- PresentMon - Various metrics such as frame pacing and GPU Busy. See a full list here
- Windows Performance Toolkit - Advanced performance analysis library for Windows. Measure ISR/DPC execution times with xperf
- Mouse Tester - Polling interval, X/Y counts and more plots against time
- NVIDIA Reflex Analyzer - End-to-end latency
- Frame-Time-Analysis - Analyze CSV data logged by the programs mentioned above including 1%, 0.1% lows metrics
- Reflex Latency Analyzer Grapher - Analyze latency results from RLA and FrameView
- See docs/research.md
-
Windows Internals, Part 1: System Architecture, Processes, Threads, Memory Management, and More
-
Windows Internals, Part 2