Tool Others F95Checker [WillyJL]

5.00 star(s) 21 Votes

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Something completely different, and this is more a curiosity than anything else... I use a little tool to allow me to scroll whichever window the mouse is hovering over, even if said window isn't the active one...
For some reason F95checker never reacts if the mouse is over the list/gridview, always need to activate the window first. That's not the only thing weird with mouse handling. I sometimes access my desktop through RDP from mobile... and it won't ever respond to mouse clicks (mouse can be controlled through drag/tap/double tap/long tap).
I do have other python based tools, haven't seen this behavior with those... might be a library thing, no idea...

Any idea what may be the reason? (NOTE, this isn't a big issue for me... it's more an annoyance than anything else, and the need to be able to RDP through mobile ain't that big either... FYI, RDP on a laptop is no issue... clicks work fine than)
can you check if you have "render if unfocused" turned on in the interface settings? cause that sounds like exactly the behavior id expect when having it disabled... rendering is also what processes events and inputs, so if you dont refresh while unfocused it is to be expected that it wont react to mouse events. read a bit in the tooltips for that setting and for vsync ratio for more info. if it isnt that, then its something to do with the peculiarity of the interface toolkit i chose. it is not standard by any means, so it is possible that some third party tools might not work with it...

ok, testdriving build 564 and it behaves decidedly different... scrolling through gridview, image loading is much faster. RAM doesn't go higher than around 1GB, same when scrolling through list view so every image is forced to load by the preview. Going back to listview, minimizing or defocusing has no effect at all, RAM stays at around 1GB... same when minimizing to systray... (and that suprised me)
now what i said just above changes a bit with the last build, because i just implemented ascsd 's suggestion of refreshing the screen only when necessary, so it might be a little hit or miss at times if i forgot some stuff. whereas before it always rendered the interface 60 times per second (if you had the "render if unfocused" setting disabled then only when focused, always otherwise), now it does that only after some change in the interface has been detected, that can be mouse events, scrolling, keyboard, animated images, text input, and some more. please let me know if you find any oddities with inputs and interface responsiveness, stuff like that. also glad to know the tweaks i made to images are actually having positive impacts!
 

FaceCrap

Active Member
Oct 1, 2020
885
619
can you check if you have "render if unfocused" turned on in the interface settings? cause that sounds like exactly the behavior id expect when having it disabled...
Damn... forgot about that one. So logical when you think about it. And yes, when checked it indeed does respond.

now what i said just above changes a bit with the last build, because i just implemented ascsd 's suggestion of refreshing the screen only when necessary, so it might be a little hit or miss at times if i forgot some stuff. whereas before it always rendered the interface 60 times per second (if you had the "render if unfocused" setting disabled then only when focused, always otherwise), now it does that only after some change in the interface has been detected, that can be mouse events, scrolling, keyboard, animated images, text input, and some more. please let me know if you find any oddities with inputs and interface responsiveness, stuff like that. also glad to know the tweaks i made to images are actually having positive impacts!
So, with "Render if unfocused" checked and the window actually unfocused, as soon as the mouse is over the window, I see the decimal part of the framerate then changing like there's no tomorrow.

Now here's something different, in list view with the window unfocused, render checkbox ticked and the mouse left untouched over the window, framerate keeps changing. But, after switching to grid view, as soon as I leave the mouse untouched over an unfocused window, framerate freezes. If I now switch back to list view and again unfocus the window, it will then also freeze the framerate after leaving the mouse untouched when it's back over the window. But ONLY if I have switched to grid view before in that session. Contrary to this, if the window IS focused, the framerate freezes immediately in list view after the mouse is outside of the window... doesn't need switching to grid view first.

So far I've not been able to have it NOT scroll when unfocused and with the checkbox ticked... so that's a good thing I guess with the new refresh system.

One thing I did notice, scrolling by dragging the scrollbar in grid view is very unresponsive once all images are showing. If I drag the scrollbar from top to bottom or the other way around, if I do that fast enough I can get it to only redraw 3 or 4 times before I reach bottom or top, framerate then also drops more than 50% at times. The slower I drag the scrollbar, the more responsive it gets. However, using the scroll wheel I also see framerate drop, but not nearly as much and scrolling remains fluid (smooth scroll disabled)

With smooth scroll enabled, using the mouse wheel in grid view behaves 'strange'. It just scrolls as expected for most part of the way from top to bottom or vice versa, but along the way it will stutter a bit at any given point during a continuous scrolling operation regardless of smoothness value (tried 1 to 10), and sometimes it even jumps back a bit before I've reached the bottom or top. With higher smoothness setting (e.g. 10 instead of 1), it is worse no matter where you start scrolling and how far, with a setting of 1 it happens much less but still happens. In list view it behaves like expected, even when giving the mouse wheel a jolt it keeps scrolling smoothly. BTW, this has nothing to do with the way you handle screen refreshing as this also happened before you changed this, I am not a big fan of smooth scroll because it makes precise scrolling tedious to impossible, so have it disabled by default, just tried it to see if that caused other issues and thought to mention it anyway.

Also noticed that when switching between the two views, scroll position is never the same... meaning the first visible game is not the same in grid view as in list view after a switch, same if going from grid view back to list view. Not a big deal, just something you would automatically expect... thinking about it, it does make sense in a way... determining which game shows as first in either view is probably no simple thing, and calculating the scroll position to have both views show the same game as first visible one... probably a nightmare...
 
Last edited:

baloneysammich

Active Member
Jun 3, 2017
994
1,522
I use a little tool to allow me to scroll whichever window the mouse is hovering over, even if said window isn't the active one...
If you're running Windows, I'm pretty sure this became a "native" behaviour at some point. At least, I don't recall installing anything to enable it (Win 10). I also don't remember if I had to configure it or if it's default.
 
  • Like
Reactions: WillyJL

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Now here's something different, in list view with the window unfocused, render checkbox ticked and the mouse left untouched over the window, framerate keeps changing. But, if switching to grid view, as soon as I leave the mouse untouched over the window, framerate freezes. If I now switch back to list view, it will then also freeze the framerate after leaving the mouse untouched. But ONLY if I have switched to grid view before in that session.
not a thing with grid view or not, you just missed a small detail :D when the bottom text bar is focused you have a blinking text cursor... for it to blink it requires a refresh... so when a textbox is focused it will keep refreshing

One thing I did notice, scrolling by dragging the scrollbar in grid view is very unresponsive once all images are showing. If I drag the scrollbar from top to bottom or the other way around, if I do that fast enough I can get it to only redraw 3 or 4 times before I reach bottom or top, framerate then also drops more than 50% at times. The slower I drag the scrollbar, the more responsive it gets. However, using the scroll wheel I also see framerate drop, but not nearly as much and scrolling remains fluid (smooth scroll disabled)

With smooth scroll enabled, using the mouse wheel in grid view behaves 'strange'. It just scrolls as expected for most part of the way from top to bottom or vice versa, but along the way it will stutter a bit at any given point during a continuous scrolling operation regardless of smoothness value (tried 1 to 10), and sometimes it even jumps back a bit before I've reached the bottom or top. With higher smoothness settings, it becomes even worse no matter where you start scrolling and how far. In list view it behaves like expected, even when giving the mouse wheel a jolt it keeps scrolling smoothly. BTW, this has nothing to do with the way you handle screen refreshing as this also happened before you changed this, I am not a big fan of smooth scroll because it makes precise scrolling tedious to impossible, so have it disabled by default, just tried it to see if that caused other issues and thought to mention it anyway.
can you double check and isolate that its purely an issue with that build and not something else going on in the system? i mean you said yourself before that it felt faster on this build, and with the changes i made it should only be lighter and less stuttery due to the lower ram usage...

Also noticed that when switching between the two views, scroll position is never the same... meaning the first visible game is not the same in grid view as in list view after a switch, same if going from grid view back to list view. Not a big deal, just something you would automatically expect... thinking about it, it does make sense in a way... determining which game shows as first in either view is probably no simple thing, and calculating the scroll position to have both views show the same game as first visible one... probably a nightmare...
been like that since 9.0 i think, i am considering looking into it
 

FaceCrap

Active Member
Oct 1, 2020
885
619
If you're running Windows, I'm pretty sure this became a "native" behaviour at some point. At least, I don't recall installing anything to enable it (Win 10). I also don't remember if I had to configure it or if it's default.
Aha! So I wasn't imagining things, wtf happened that this stopped working on my system...
 

FaceCrap

Active Member
Oct 1, 2020
885
619
not a thing with grid view or not, you just missed a small detail :D when the bottom text bar is focused you have a blinking text cursor... for it to blink it requires a refresh... so when a textbox is focused it will keep refreshing
Just double checked, but the keyword here was a defocused window... i.e. the text box at the bottom don't have a cursor in it since the focus lies on a totally different arbitrary application. Also made sure when verifying that the box didn't have focus before switching to a different app (initially I indeed didn't check for that but since focus was on another app, the textbox shouldn't be able to influence behavior as the cursor isn't visible.)

can you double check and isolate that its purely an issue with that build and not something else going on in the system? i mean you said yourself before that it felt faster on this build, and with the changes i made it should only be lighter and less stuttery due to the lower ram usage...
It's not just the latest build, 564 does feel smoother in this particular behavior, but it happens in every build since 9.0, just worse in those builds, to the point that framerate can drop to the single digits. At least 564 keeps the framerate in the double digits.

Odd though, if I set my monitor to a resolution where I can set refresh rate to 100, F95checker still won't go higher than 60...
 
Last edited:

AmBush-UK

Member
Aug 1, 2018
397
407
Since last update after every launch I have a DOS box in the background, I've rebooted laptop a couple of times and still its there.
Also tried deleting F95Checker and installing a clean downloaded copy. If i close the cmd box F95Checker closes too :confused:
D__F95 Games_F95Checker_F95Checker.exe 27_10_2022 17_53_38.png
 
  • Like
Reactions: WillyJL

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
Since last update after every launch I have a DOS box in the background, I've rebooted laptop a couple of times and still its there.
Also tried deleting F95Checker and installing a clean downloaded copy. If i close the cmd box F95Checker closes too :confused:
View attachment 2128285
hm... my code makes the assumption that youre running on the default cmd conhost, but youre using windows terminal... ill work on it
 
  • Like
Reactions: AmBush-UK

ascsd

Newbie
Jul 26, 2021
73
53
Pls work + BUILD
Willy-JL committed 2 days ago

Come on + BUILD
Willy-JL committed 2 days ago

Please macOS + BUILD
Willy-JL committed 2 days ago

Come onnnn + BUILD
Willy-JL committed 2 days ago

Fuck you macOS
Willy-JL committed 2 days ago

:ROFLMAO: :ROFLMAO: :ROFLMAO:
 
  • Like
Reactions: Hunteraulo

ascsd

Newbie
Jul 26, 2021
73
53
idk what you've done you mad lad but build 574 does not exceed 170mb. It jumps up abit while scrolling in grid mode and games are being shown for the first time, but when all games have been shown once, drops back down to 170mb and doesnt change
 

Dukez

Member
Dec 19, 2020
403
1,512
Since last update after every launch I have a DOS box in the background, I've rebooted laptop a couple of times and still its there.
Also tried deleting F95Checker and installing a clean downloaded copy. If i close the cmd box F95Checker closes too :confused:
View attachment 2128285
I've had this for ages... I feel like it's a Windows thing and I dunno what causes it. If you or someone else has this & fixes it please do tag me cause it would be nice to get rid of whatever causes it lol.
 

AmBush-UK

Member
Aug 1, 2018
397
407
I've had this for ages... I feel like it's a Windows thing and I dunno what causes it. If you or someone else has this & fixes it please do tag me cause it would be nice to get rid of whatever causes it lol.
I was wondering the same thing,


if it helps WillyJL I'm running
Edition Windows 11 Home
Version 22H2
Installed on ‎20/‎10/‎2022
OS build 22621.675
Experience Windows Feature Experience Pack 1000.22634.1000.0
 
  • Like
Reactions: WillyJL

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
I've had this for ages... I feel like it's a Windows thing and I dunno what causes it. If you or someone else has this & fixes it please do tag me cause it would be nice to get rid of whatever causes it lol.
imma fix this eventually, atleast now i know its a problem... its normal that it opens a console, but i made it hide the console asap... seems that method only works for the ancient cmd conhost, not for windows terminal...

Pls work + BUILD
Willy-JL committed 2 days ago

Come on + BUILD
Willy-JL committed 2 days ago

Please macOS + BUILD
Willy-JL committed 2 days ago

Come onnnn + BUILD
Willy-JL committed 2 days ago

Fuck you macOS
Willy-JL committed 2 days ago

:ROFLMAO: :ROFLMAO: :ROFLMAO:
dont even get me started man... something happened to the macos builds and nothing is working for them... also im working on switching from qt to gtk for the login window, so that it should be more stable and less heavy in terms of download size, but thats proving quite challenging... just have a look at the gtk-login branch's commits...

idk what you've done you mad lad but build 574 does not exceed 170mb. It jumps up abit while scrolling in grid mode and games are being shown for the first time, but when all games have been shown once, drops back down to 170mb and doesnt change
very nice. so it seems that what FaceCrap mentionedi is happening to a degree... before i kept the python arrays, so those kept the ram filled up, now i pass them to opengl asap and remove them from python. so they technically disappear from ram since theyre apssed to opengl, if the ram stays up its because windows doesnt free it properly instantly... eitherway those are very good news, thanks for the feedback

Just double checked, but the keyword here was a defocused window... i.e. the text box at the bottom don't have a cursor in it since the focus lies on a totally different arbitrary application. Also made sure when verifying that the box didn't have focus before switching to a different app (initially I indeed didn't check for that but since focus was on another app, the textbox shouldn't be able to influence behavior as the cursor isn't visible.)
now imgui is a very different and low level gui framework, and it doesnt look at focus or not usually... if you had the textbox selected / focused, then focus another window, for imgui the textbox is stil lfocused... the window wont receive inputs so nothing will go into the textbox, but still it counts as focused so the cursor will blink and the gui will refresh. otherwise only things i can think of are animated images or whatever. if you can send a clip of this happening it would really help.

It's not just the latest build, 564 does feel smoother in this particular behavior, but it happens in every build since 9.0, just worse in those builds, to the point that framerate can drop to the single digits. At least 564 keeps the framerate in the double digits.
well yeah its normal that from 9.0 it might be running a bit worse compared to 8.5, it is a very different gui framework and paradigm. and yeah from 564 theres the new image loader that a bit more efficient so yeah makes sense that its a bit better

Odd though, if I set my monitor to a resolution where I can set refresh rate to 100, F95checker still won't go higher than 60...
hm no clue, looks like opengl / imgui do a bit of false advertising about what the vsync ration option does xD
 

FaceCrap

Active Member
Oct 1, 2020
885
619
I've had this for ages... I feel like it's a Windows thing and I dunno what causes it. If you or someone else has this & fixes it please do tag me cause it would be nice to get rid of whatever causes it lol.
Do you by any chance have the Microsoft Powertoys installed and using the Fancy Zones component?
If so, do you have the "Move newly created windows to their last known zone?"
I had this happen on one of the builds... dos box at the exact same size and position as the F95checker window... had to uncheck it, run F95Checker once and close it again.
Now with that setting on I no longer have this...

EDIT: Crap, I also have the FancyZone setting enabled to put windows back in their zone after a resolution change... And as a result of my fiddling with vsync ratio (see my last post), I again have the DOS box at exact same size and position as the application window... caption bar showing the full path to and name of the executable... restarting F95Checker fixed it (moved the DOS box off screen, but it started at same size and position it was at when exiting)

I'm guessing that any kind of window management utility will cause similar behavior
 
Last edited:

FaceCrap

Active Member
Oct 1, 2020
885
619
Running build 574
if you can send a clip of this happening it would really help.
I have to find a way to make a vid that'll not end up too big to show rendering not stopping with defocused window

hm no clue, looks like opengl / imgui do a bit of false advertising about what the vsync ration option does xD
Hmmm... I never fiddled with the VSync Ratio setting... just now hovered the question mark and read that with 1:0 it would be uncapped, and with 1:1 would match the screen's VSync...
Setting it to 1:0 I was surprised to see the framerate skyrocketing to ~112 with screen at 60Hz, and to ~140 with screen at 100Hz. The odd thing is, when setting it back to 1:1 again it now indeed caps at the screen's refresh rate. Uncapped it even goes up as high as ~170 (with screen set to 100Hz) when an editable input is focused. So there's no false advertising. No idea why it wouldn't go higher than 60 on the previous build. (these values I got in listview, gridview however doesn't seem to go higher than ~80, and ~90 with an input focused, with screen at 100Hz and uncapped ratio. And with capped ratio never goes over ~50 even when I focus an input)

Another oddity is that if I switch back to F95Checker in listview from another app, by clicking the taskbar icon, the uncapped framerate matches the screen but goes up again to it's original value once the mouse enters the window area, and like what happens with capped VSync Ratio in defocused state, now also happens uncapped even when focused. With capped ratio it stops refreshing when mouse is left alone over the window, with uncapped ratio it never stops refreshing.

Sadly I'll be out most of the weekend, so I won't be able to get around to making a screencap earlier than monday.
 

GAB

Salty Montrealer
Donor
May 10, 2017
2,360
17,784
its in the betas, in the refresh settings section
View attachment 2131180
Oh sweet, looking forward to next update (or maybe unreased branch in github)
I have to find a way to make a vid that'll not end up too big to show rendering not stopping with defocused window
not sure if you have a sofware for recording already but may I suggest
 

FaceCrap

Active Member
Oct 1, 2020
885
619
Oh sweet, looking forward to next update (or maybe unreased branch in github)
Not as a branch, check the Actions menu... ;)

not sure if you have a sofware for recording already but may I suggest
Huh! I actually have that but I only used it to post stuf to sites... and damn... it can even record to GIF...
Thanks for the pointer, wouldn't have thought to use that.

EDIT: ShareX is no option, it sadly doesn't capture the mouse, so for this particular scenario it's of no use since I actually need to show what happens when the mouse cursor enters/leaves the application window in unfocused state.
 
Last edited:

WillyJL

Well-Known Member
Respected User
Mar 7, 2019
1,062
845
with uncapped ratio it never stops refreshing.
Now that I think about it that makes a lot of sense... what I did is when some change is detected, it creates a 0.5 seconds times that will keep the interface running for that time. How it lowers the timer is by the delta time of the current frame. Usually the delta time is how long has passed since the last frame. Thing is, with uncapped frame rate, there is no waiting between frames, so the timer won’t go down...


EDIT: ShareX is no option, it sadly doesn't capture the mouse, so for this particular scenario it's of no use since I actually need to show what happens when the mouse cursor enters/leaves the application window in unfocused state
I feel like I’ve used sharex with mouse cursor before, it must be a setting somewhere...
 
5.00 star(s) 21 Votes