Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement] Better readability for time and FPS status #1225

Closed
HauptlingHD opened this issue Nov 9, 2024 · 5 comments
Closed

[Improvement] Better readability for time and FPS status #1225

HauptlingHD opened this issue Nov 9, 2024 · 5 comments
Labels
state:Done This issue has been resolved/dismissed type:Enhancement New feature or request

Comments

@HauptlingHD
Copy link

Currently (Version 6.1.1) the FPS counter, "Time Elapsed" and "Time Remaining" update in real time. This makes it really hard to read what is getting displayed, especially when your remaining time is large enough for a small fluctuation in FPS to let the remaining time jump up and down 10 or 20 Seconds.

Real time updates of such counters also leads to unnecessary CPU time spent on something that the user won't be able to read anyway. This also means unnecessary power spending. (Of course, both of these things are pretty negligible but real nonetheless)

One last thing real time updates for the counters are bad for is a display with a variable refresh rate. If Video2x runs, e.g. on a laptop display with a variable refresh rate of 30–120 Hz, the display would be forced to update at 120 Hz as long as the Video2x GUI is visible on screen, again wasting power.

My suggestion:

Either update the counters much slower or give the user a setting to choose how fast they want the counters to be updated. That way the user can choose how they want the GUI to behave, which allows them to save some power.

(Also, the FPS counter is very "jumpy" since it can go from "1.5" to "1.49999" every other frame. Maybe show fewer decimal places and/or make all zeros after the decimal point always show up, so it would say "1.50000" instead of "1.5".)

@github-actions github-actions bot added the state:Backlog This issue will be worked on in the future label Nov 9, 2024
@k4yt3x k4yt3x added state:InProgress This issue is being worked on and removed state:Backlog This issue will be worked on in the future labels Nov 10, 2024
@k4yt3x
Copy link
Owner

k4yt3x commented Nov 10, 2024

Are you talking about the GUI or the CLI?

@k4yt3x k4yt3x added the type:Enhancement New feature or request label Nov 10, 2024
@k4yt3x
Copy link
Owner

k4yt3x commented Nov 10, 2024

I'm guessing the GUI since I already do rounding on the CLI. What I could do is to round it off to two digits after the decimal point like this:

image

As for the frequency of the update, currently it's 10 times per second. I guess we can make that four times or twice a second or something.

@HauptlingHD
Copy link
Author

Yes, I was talking about the GUI. Good to know that it doesn't update the counters in real time, but 10 times per second almost looks like real time to me. At least in terms of readability. The "jumpy" and "glitchy" behavior (for leg of a better word) doesn't make it easy to read the counters.

Bildschirmaufnahme.2024-11-10.001834.mp4

See how the FPS jumps back and forth and the Time Remaining doesn't give me a clear value but changes by multiple seconds all the time?

My personal preference would be one rounded digit after the decimal point for FPS and one update per second for all counters.
But again, I think the most user-friendly solution would be to give the user a setting where they can choose "FPS digits after decimal point" and "Status update/s" for themselves.
One other solution I thought about was letting the user choose to either see the current FPS (as it is right now) or give them the option to see the average FPS of the last 5 or 10 seconds. This would also "smooth out" the counters a bit.

@k4yt3x
Copy link
Owner

k4yt3x commented Nov 10, 2024

I don't want to add too many settings as it may overwhelm the users. I think it's fair to reduce the update speed to something more reasonable. I'd say something like twice per second would work fine.

I'll also apply the adjustment for the rounding so it always shows two or three digits after the decimal point.

The FPS math will be enhanced later. Right now it's just frames_processed / time_elapsed.

@k4yt3x
Copy link
Owner

k4yt3x commented Nov 17, 2024

So for now I've set it show 4 digits after the decimal point. Slower devices like Intel iGPU may process at a rate less than 0.01 FPS sometimes, so I want to be able to show speed slower than that.

I tried different progress refreshing speeds, and slower than the current (10 FPS) makes the progress bar look not as smooth, so I think I'll keep it at that for now.

Will be shipped in the next release.

@k4yt3x k4yt3x closed this as completed Nov 17, 2024
@github-actions github-actions bot added state:Done This issue has been resolved/dismissed and removed state:InProgress This issue is being worked on labels Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:Done This issue has been resolved/dismissed type:Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants