Skip to content

Nomi/CsProfAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

190 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS2 Frame Analysis Utility

Status

Release

Latest Release:

GitHub Release

Action Status
VirusTotal Scans VirusTotal Scans

Production (master)

Action Status
Build and Release Build and Release
VirusTotal Scans (Code) VirusTotal Scans
CI / Quality Check CI / Quality Check

Development (dev)

Action Status
VirusTotal Scans VirusTotal Scans
CI / Quality Check CI / Quality Check

Versioning

To update the application version, modify the __version__ string in src/core/__version__.py. Note that any changes to code, configuration, or dependencies require a version increment to pass CI checks.

A tool designed to parse and analyze performance logs from Counter-Strike 2.

Overview

This utility processes the CSV files created by the CS2 engine to provide a detailed breakdown of how your hardware is performing. It is specifically built to highlight the difference between "Smooth" FPS (averages) and "Frame" FPS (instantaneous reality), which is crucial for users on low-spec systems where stutters are more frequent.

Project Structure

  • src/main.py: The main entry point for the application.
  • src/config.json: Configuration file for thresholds and column names.
  • src/core/: Subfolder containing the core logic and modules.

Requirements

  • Python 3.7+
  • pandas
  • numpy
  • tqdm
  • colorama

Installation

Install the necessary dependencies via pip:

pip install pandas numpy tqdm colorama

Disclaimer

This script parses CSV logs specifically generated by the cl_showfps 4 command in Counter-Strike 2. Please note that cl_showfps 4 is a heavy profiling tool. On low-spec systems, the overhead of logging data every frame can cause a noticeable drop in your actual game performance (the Observer Effect).

Usage

Run the script from your terminal by pointing it to your CSV log:

python src/main.py your_match_log.csv

To skip the glossary and see only the data report, use the brief flag:

python src/main.py your_match_log.csv --brief

Metrics Glossary

  • Frame FPS: Instantaneous speed. Best for finding stutters.
  • Smooth FPS: Trailing average. This is what you see in the HUD.
  • Frame MS: Time to render one frame (ms). Lower is better.
  • Server Frame MS: Server tick processing time. High values indicate Server Lag.
  • Median: The middle performance value (50th percentile).
  • 1% Low: Performance at the 1st percentile. Used to check general fluidity.
  • 0.1% Low: The absolute worst hitches (e.g., teleports or engine hangs).
  • Std Dev (Jitter): Consistency check. High values indicate "Micro-stutter."
  • Stutters: Any frame that took longer than 50ms to render (a visible freeze).

About

CS2 Frame Analysis Utility for `cl_showfps 4` logs

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages