[go: up one dir, main page]

  • yucandu@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    2
    9 months ago

    I鈥檝e seen tons of little desktop USB display gadgets that show all your system stats like temperatures and fan speeds.

    But I鈥檝e seen very few that show your in-game framerate. Turns out that鈥檚 because it鈥檚 more challenging - requires directly polling Rivatuner shared RAM. But the advantage is that we can poll it as fast as we want! And then after transmitting it over USB-to-serial at 115200 baud, we can display up-to-date in-game framerates with a graph almost as fast as RTSS鈥檚 built in OSD!

    C# is used for the desktop app for maximum performance - it polls temps and fan speeds at 0.5hz and FPS at 10hz, this way there is 0 measurable CPU usage from the app or any of the apps it is polling (LibreHardwareMonitor for temps/fan speeds, Rivatuner for FPS).

    PlatformIO is used for the ESP32C3 device for maximum compiling speed - I got tired of waiting 10 minutes for Arduino IDE to compile.