punesemu/puNES

improving usability of the fullscreen-mode (suggestions are welcome)

eugene-s-nesdev opened this issue · 14 comments

Hi Fabio.
I've got some free time and another retro-laptop hehehe, so i tested the emulator for the past few days

I have a few suggestions which can improve the usability of the fullscreen-mode "out-of-the-box":

  • Change "Toggle the Menu Bar in fullscreen" shortcut from default "Alt+M" to something like "Esc"
  • Duplicate this (show/hide fullscreen menubar) on the RightMouseButton click [nestopia-like behavior].
  • Or maybe, instead of RMB, show the menu only when the mouse cursor is at the top of the screen?
    [mesen-like behavior, work only at non-exclusive fullscreen on current build]
    This way user can operate settings/rom loading/etc much more faster/more comfortable, i guess.

Maybe You (or bugtesters-guys here) have some more interesting ideas / suggestions than mine?

HI Eugene, another retro-laptop??? 😄

Or maybe, instead of RMB, show the menu only when the mouse cursor is at the top of the screen?
[mesen-like behavior, work only at non-exclusive fullscreen on current build]
This way user can operate settings/rom loading/etc much more faster/more comfortable, i guess.

I really like this idea. Do you have a chance to test this patch? Or do you prefer a compiled version for windows?
punes_open_menubar_with_mouse.patch

Change "Toggle the Menu Bar in fullscreen" shortcut from default "Alt+M" to something like "Esc"

I like this too.

Yep, i have an acer-1830t now for a very low-price, and it good enough for "shit-testing" (performance drops/old OSes/еtс).
It can run even winXP if needed, but i installed win7 and will install linux also. Right now, it doesn't have MSVC/MinGW but i will do it soon.
If you can do d3d9-x64 build i can test it right now

Another good stuff, i added custom refresh rate support using CRU-1.5.2 (display EDID override editor) so it have full 50Hz support now. So, PAL is smooth too, as well, as NTSC. puNES refresh rate switcher works good.

Also i've found a small bug, and can replicate it on win7 and win10, both intel and nvidia, different hardware.

  • set FPS-meter OSD (or lag counter, or something like this at bottom) visible
  • run game, set fullscreen
  • being fullscreen, load another game via menubar.
  • you'll see OSD display moved-off under the bottom of the screen
  • hide menubar.
  • you'll see slightly distorted game picture. The OSD display still moved-off under the bottom of the screen.
  • press your shortcut to enter windowed mode, then go fullscreen again -> bug is gone.

Can you reproduce it?

punes D3D9 32bit.

As for the bug, I can reproduce it (except for the slightly distorted image), I noticed that it only happens under windows. I'll try to understand why.

Ok, I've updated the punes D3D9 32bit, I think I've fixed the bug.

Change "Toggle the Menu Bar in fullscreen" shortcut from default "Alt+M" to something like "Esc"

Updated again punes D3D9 32bit.

Thank you. It works like a charm (i5-2500s/intelHD/win10). Much more comfortable now. I will test it on all my machines too

How to know maximum puNES FPS unthrottled?
(it' useful thing for testing performance between machines, or speed regressions between builds)

I see strange FPS-meter behavior (maybe bug, maybe not):

  • set FPS-meter ON
  • set NTSC
  • press toggle fast forward (or hold it manually)
  • FPS-meter still shows 60 FPS and no more.
  • set PAL or Dendy
  • press toggle fast forward (or hold it manually)
  • FPS-meter shows 32 FPS. Also strange.

Re-tested lastest commit on Nvidia modern machine. All works good too. Thank you!

I see strange FPS-meter behavior (maybe bug, maybe not):

It's not a bug, the fps you see indicates the graphic frames (which are not the emulator frames), which I also need in the debug environment but it is right to show the PPU frames.

Try with d27fefc.

Works very well and stable, it's much clearer now.
Thank you Fabio. That was really interesting.
It's nice to reminisce about the old days of intensive emulator testing.

We were both younger 👦