Code Monkey home page Code Monkey logo

game_inspector's Introduction

Game Inspector

It's a tool to measure FPS, FlipRate and other metrics, take screenshots, record video and draw overlay

This applications is based on:

These python libraries could be used for automation and to develop other applications

fps_inspector_sdk and screen_recorder_sdk are API agnostic and dont hook inside game process and can be used without game_overlay_sdk which hooks inside game process, so without overlay it works with all games on all hardware. To use them without overlay you need to choose PID mode in configuration window.

Game overlay is an experimental feature, for now it should work with x32 and x64 games which are based on:

  • DX11
  • DX12
  • Vulkan

To use Game Overlay you need to choose Process Path or Process Name option, also for Steam Games you need to enter Game Id and make sure that Steam Client App is running, more information about these options can be found in game_overlay_sdk readme. If Steam game chashes during start try to run it first manually, close and rerun via game_inspector

Installation(exe)

Just download a standalone executable file from release page

Installation(Python)

First of all you need to install Python 3 x64

To install all dependencies please run:

git submodule update --init --recursive
python fps_inspector_sdk\python\setup.py install
python screen_recorder_sdk\python\setup.py install
python game_overlay_sdk\python\setup.py install
python -m pip install -r requirements.txt
garden.bat install filebrowser --kivy
garden.bat install matplotlib --kivy

fps_inspector_sdk, screen_recorder_sdk and game_overlay_sdk could be installed from PYPI but in this case pyintaller will fail to find DLLs which are required for these packages, so I've attached them as submodules.

After that you will be able to run it using:

python game_inspector.py

To create a standalone executable please run:

pyinstaller game_inspector.spec

game_inspector.exe will be in dist folder

Usage Sample

You need to run it with administrator priviligies and I recommend to start it from cmd, in this case you will see logs

Welcome Screen

welcome Just press Configure Session

Configuration

Here you have to specify one of the following options:

  • PID(no overlay) - Process Id from running process, you can set 0 here, the application will taks screenshot of entire screen and record all events for FPS calculation.
  • Process Path(Overlay, works with SteamApp Id) - Path to an executable, application will run it. You can use filebrowser and click Ok
  • Process Name(Overlay, doesnt works with SteamApp Id) - process name with extension, you will need to run it manually

Optional Inputs:

  • SteamApp Id - required for Steam Games, can be found here
  • Hotkeys which you are able to override(default are shift+i, shift+o, shift+p) configuration

Run

If you choosed overlay capable mode you will see game overlay in the left bottom corner, to start messaging you need to trigger hotkeys or press buttons, in PID mode you will not see an overlay but everything else will be the same. UI:

  • left upper corner - buttons to control
  • left bottom corner - video, you will need to press play after recording
  • right upper corner - fps/fliprate plot(in stored csv files there are much more useful metrics!)
  • right bottom corner - screenshot run

game_inspector's People

Contributors

andrey1994 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

game_inspector's Issues

Minor fixes

  • fix no_screenshot.png in pyisntaller
  • add manifest to request administrator privileges
  • move code to subfolder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.