mathoudebine / mathoudebine/turing-smart-screen-python

Add FPS counter reset and limiter.

Open
#814 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rich Text Format
Stars
2.3k
Forks
412
Avg merge
21h 10m
Merged PRs (30d)
7

Description

Is your feature request related to a problem? If so, please describe the problem.
It's actually two problems:

  • the FPS counter is refreshed only when it reads a positive value, but when fullscreen 3D application is closed it should reset back to 0 (as "3D engine not in use") - at least this behavior is observed at LibreHardwareMonitorLib method
  • the FPS counter (again, tested with LibreHardwareMoniorLib method) sometimes shows abnormal values, usually when screen switching, (for example 2408791), which result in wide text display and ghosting

Describe the feature / solution to your problem you'd like
(Proposed solution code is provided in discussion here)

  • FPS refreshing - provide timer/timed method that mesures amount time the sensor reading stays 0 and resets the FPS counter to 0 after certain period of time
  • FPS abnormal high values - trim values to certain safe amount like 9999 (sensor_value = min(9999, sensor_value))

Describe alternatives you've considered / and or tested

  • as FPS refresh/reset, I considered simply counting the amount of continuous 0 values, but it made FPS counter reset time too depended on sensor's INTERVAL parameter
  • as of FPS abnormal values - considered just dropping high values if sensor_value > 9999: return previous_value) - it should work fine as well, maybe even less abrupting the display for pedantic people (like me)

Screenshots / photos & mockups of the Turing screen
Add screenshots or photos/mockups of the rendering on the Turing screen to help explain your request.
You can drag and drop photos here to add them to the description.

Environment:

  • Revision of this project - 3.9.3
  • Windows 11
  • Python 3.13
  • Hardware - doesn't matter to be honest

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the proposed solution in Discussion #810 and trace the FPS sensor-reading and display path for the LibreHardwareMonitorLib method. Verify reset behavior after sustained zero readings and safe handling of abnormal values such as 2408791; done when the counter returns to 0 after inactivity and displayed values do not exceed 9999.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability-sre
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.