Skip to content

Add FPS counter reset and limiter. #814

@rud01f

Description

@rud01f

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions