Jump to content
The simFlight Network Forums

FSUIPC feature suggestion: Hide mouse cursor on keypress


Recommended Posts

Hello Pete,

first of all I want to thank you for all your effort you are putting into this really great FS tool. As a FSUIPC customer I really appreciate your work, and it is hardly imaginable to fly without those great features. To make this program even greater, I would like to suggest another feature, which might be possible to implement in a future version:

It would be really nice to be able to define a keyboard shortcut or a joytick button to "hide/unhide the mouse cursor". As outpointed in many forums, the average framerate drops by 5-10 fps, when the mouse cursor is displayed. In particular when using aircrafts like the PMDG 737NGX fleet. The framedrop results from additional calculations the CPU has to do in order to "map" the 2D mouse pointer onto the 3D virtual cockpit, to determine if the mouse is pointing on a switch/button. But if you do not have a complete home cockpit you need to use the mouse cursor very often to setup and control the systems of your aircraft. Normally, the cursor disappears after 5 seconds, but especially on a lower end system you would like to have a control to hide the mouse cursor immediately after did something with your mouse. Because 5 seconds with a very low framerate can be very critical, especially in a final approach situation. What do you think? Might it be possible to implement such a feature into FSUIPC?

Best regards, and keep on the good work,

Chris

Link to comment
Share on other sites

It would be really nice to be able to define a keyboard shortcut or a joytick button to "hide/unhide the mouse cursor".

Okay, done. Please get 4.862 from the Download Links subforum.

Note that if FSX/P3D has also hidden the cursor, you still have to move the mouse to get it back. I've no way of overriding FSX/P3D's hiding method.

Pete

Link to comment
Share on other sites

Pete,

thank you very much for this great support. I really ran out of words, when I looked into the forum and saw your message. Thank you so much for your effort implementing this so fast. Unfortunately it did not solve my original problem. The hiding of the mouse cursor works very well, but unfortunately FSX does not recognize it as hidden, so it takes the original five seconds, whether it was hidden by FSUIPC or not, until the framerate goes up after stopping mouse movements. Maybe the reason for this lies really deep in the FSX code, or even Windows?

Original the behaviour was like this:

Stop any Mouse movements => 5sec => FSX hides the mouse cursor & framerate goes up

New behaviour with FSUIPC 4.862:

Stop any Mouse movements => Mouse is manually hidden by FSUIPC shortcut, but even by doing this, it takes 5sec until FSX "hides the hidden mouse cursor" & framerate goes up

This can also be noticed due to the fact, that five seconds after hiding the cursor manually through FSUIPC, it is no longer possible to unhide the cursor with the FSUIPC shortcut, because FSX has now "hidden the hidden cursor". And only if FSX hides the cursor the additional calculation are stopped and the framerate goes up. - Too bad that the original FSX hiding method could not be overridden.

But nevertheless it is nice to be able to vanish the mouse cursor immediately, stopping it from floating around in my cockpit :)

So again: Thank you very much for your great support.

Best regards,

Chris

Edited by FSXChris
Link to comment
Share on other sites

thank you very much for this great support. I really ran out of words, when I looked into the forum and saw your message. Thank you so much for your effort implementing this so fast. Unfortunately it did not solve my original problem. The hiding of the mouse cursor works very well, but unfortunately FSX does not recognize it as hidden, so it takes the original five seconds, whether it was hidden by FSUIPC or not, until the framerate goes up after stopping mouse movements. Maybe the reason for this lies really deep in the FSX code, or even Windows?

Sorry, I've no idea what FSX is doing. But the slow down is evidently nothing to do with the images of cockpit panels and mouse cursors.

I've never noticed any slowdown whatsoever in frame rates when the mouse pointer is over any panels, but then I don't use any third party add-on panels at all. There's absolutely nothing else i know of in Windows that can help here, it must be solely down to the way those panels are coded. Don't the makers have anything to say about it? I susepct it could be cured by better panel coding.

What if the new control also moved the mouse pointer, say to top left of the FS window? I could probably do that -- but it might cause some confusion when it re-appeared, unless on the next click I replaced it where it was? Does moving the mouse off the panels make the frame rate speed up? Obviously if you have the mouse pointer visible you are using the mouse, so wouldn't it be just as easy to move it away when done rather than press a button to remove the cursor?

Regards

Pete

Link to comment
Share on other sites

If you are running in windowed mode and you move the mouse to the title bar area when you have finished using the mouse then yes the frame rate goes back up the instant the cursor is no longer overlaying FSX.

The more click spots there are in a VC for switches and dials, the bigger the differential in frame rate when the mouse pointer is over the FSX screen. The PMDG NGX and iFly 737 are both pretty bad in this regard, although the NGX is not quite as bad. I got this info from one of the folk at PMDG a few years ago. 2D panel views don't seem to be effected anywhere near a badly, it's the VC view that suffers this problem.

Link to comment
Share on other sites

If you are running in windowed mode and you move the mouse to the title bar area when you have finished using the mouse then yes the frame rate goes back up the instant the cursor is no longer overlaying FSX.

Unfortunately, by definition, there's no valid screen position outside FSX when it is run in full screen mode, and as that is likely the normal way for most folks, I can't see how it can be resolved. If someone would like to see if there's a good parking place for the mouse on a full screen display, I'll try moving it there (recording first it's original position of course, so i can put it back then the control is pressed again).

Pete

Link to comment
Share on other sites

Hello Pete,

sorry for my late reply, I was absent the last few days without an internet connection.

But today I did again some extend research on the mouse-framerate topic and surprisingly found a good parking place for the mouse on a full screen display: - The very top left corner -

At least when using the PMDG 737NGX aircraft (thats the only CPU-intensive addon aircraft I currently own - and with the standard aircrafts the mouse pointer problem is not so evident) it astonishingly seems to resolve the framerate problem when parking the mouse pointer in the very top left corner of the full screen display. I do not know exactly why, but this little trick lets the framerate instantly jump up by 8-10 fps. So currently I'm parking the mouse pointer, every time after using the mouse, manually in the top left corner.

So if it would really be possible to park the mouse cursor automatically in the top left corner it would be really beneficial.

Best regards,

Chris

Link to comment
Share on other sites

I'll experiment and get back to you.

I've come to the conclusion that it really is easier and better (more consistent) for you to manually move the mouse pointer to top left when you've finished using the mouse on a gauge, rather than let go of the mouse and press a button to make it move. So I'll leave the cursor off/on toggle option as it is, though it really doesn't have its originally intended purpose.

Regards

Pete

Link to comment
Share on other sites

At least when using the PMDG 737NGX aircraft (thats the only CPU-intensive addon aircraft I currently own - and with the standard aircrafts the mouse pointer problem is not so evident) it astonishingly seems to resolve the framerate problem when parking the mouse pointer in the very top left corner of the full screen display. I do not know exactly why, but this little trick lets the framerate instantly jump up by 8-10 fps. So currently I'm parking the mouse pointer, every time after using the mouse, manually in the top left corner.

Pete,

this discussion is interesting as I have also noticed that moving the cursor "out" of the screen (i.e.parking in the top left corner) improves the frame rate (I am also referring to NGX experience). On top of this I use your FSUIPC mouse look function and I have also noticed that when I pan in VC using mouse look I have a drop in FPS which I don't have if I pan using the hat switch on the joystick (maybe because in this way the mouse curosor remains "invisible" ? who knows..). On the other hand, panning using mouse look is much better than hat switch in terms of VC cockpit handling, so I was thinking if it could be possible within FSUIPC to combine the two functions : pressing mouse wheel to activate mouse look and cursor hide toggle at the same time. In this way you could pan using mouse look but still keeping the cursor hidden and when you release the mouse wheel it would become again visible and available to operate switches ...etc.....

It might be worth a try...

Thanks

Regards

Link to comment
Share on other sites

It might be worth a try...

I don't think so because it has already been shown that hiding the cursor isn't enough to stop the fps drop on those cockpits which have a lot of mouse spots. You can only stop the drop by placing the mouse off screen or letting FS itself hde the cursor.

Pete

Link to comment
Share on other sites

Hello Pete,

and thank you very much for your effort with this topic.

I understand that my suggestion of hiding and moving the mouse cursor into the upper left screen corner by hitting a joytick button is not the best solution. In this case it is really better to move the mouse manually into the corner. But very often you just forget doing this. So, I try to suggest a last option, which might be of interest, also for people which are flying in windowed mode:

What about an all new option tab within FSUIPC, on which you can (if you want to) set the following options:

a ) [ ] enable/disable Move mouse cursor out of screen after using it (as a switch)

b ) [1/2/3/4...X] Number of seconds the mouse will be moved after the last mouse input (as an input field)

c ) [TopLeft / Top / TopRight / Left / Right / LowerLeft / Lower / LowerRight] Where to move the mouse after it is not used (as a dropdown field)

d ) [ ] Hide the mouse pointer after moving it (as a switch)

e ) [ ] Restore original position when moving it again (as a switch)

This would be a very universal thing, which also the "Windowed-Users" might benefit of (even if they are flying the default airplanes). Because there is really nothing more annoying than a mouse pointer sitting in the middle of your field of view. And yes of course, you can move the mouse pointer every time out of your sight manually, but I think an option like "moving after a certain amount of time" would be really comfortable. Because here you do not even need to push a button or move the mouse every time you are changing things manually (which is also nerve-racking and takes away some fun of flying).

So, maybe this is a more universal addition to FSUIPC, which is worth of thinking it over. If not, it would be also OK for me. I just wanted to write you this last idea, which I had this morning.

Best regards,

Chris

PS: And just as an addition information for all FSX PMDG 737NGX pilots out there - if you are also suffering from lower frame rates because of the visible mouse pointer: Just move the mouse pointer into the upper left corner (if you take a closer look into this corner you will see a litte, uniform colored "dot"). Just placing the mouse over that "dot" and you are fine. But as it is really hard to keep the mouse exactly on that pixel you might try the second method: Move the mouse pointer into the upper left corner (it will then transform into a "resizing pointer" (two arrows)), hold the left mouse button and resize the little "dot" you can see in the upper left corner - It then transforms into a uniform colored area. Every time you are placing the mouse pointer within this area, the additional calculations will stop and your framerate will go up instantly. You can even move this area around and replace it wherever you want it (e.g. into the lower left corner of the screen, if this is a more intuitive place for you to place the mouse pointer after using it) just be pressing and holding the left mouse button and dragging this "uniform colored area" around your screen.

Edited by FSXChris
Link to comment
Share on other sites

Hi,

You might implement these requirements by a simple LUA script using the "mouse" and "event" functions provided in the LUA library. As this is a very specific request for one plane (and in addition depends on your screen setup), this would be the better solution. The mentioned functions should fulfill all the requrements (checking mouse movements, moving of the mouse, etc.).

Rgds

Reinhard

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.