SNES Performance Tweaks
#31
(12-20-2017, 02:14 AM)Flavor Wrote: The best solution I know is to use rfkill.

The basic idea is to install it with
sudo apt-get install rfkill

And use these commands to "kill" or unkill WiFi.  You can also kill Bluetooth, I think, and you could add a menu item to do these if you wanted.
sudo rfkill block wifi
sudo rfkill unblock wifi

There's a bit more info at http://www.sudomod.com/forum/viewtopic.php?t=3239

I haven't heard from anyone that has set these up as a menu item yet, but I'd be very interested to know how that works out.

I have...  I did this on my GB build.  You need to copy 2 .sh files to the retropiemenu folder in your homedir (you have to scp it there as it doesn't show up on the SMB shares).  Mark them as executable (sudo chmod +x *.sh)  I then added it to my gamelist.xml file in that folder so it showed up nicely...  Here are my files (renamed all to .txt so I could upload, enable and disable are .sh and gamelist is .xml). (Oh and this also requires rfkill be installed)


Attached Files
.txt   enable-wireless.txt (Size: 113 bytes / Downloads: 43)
.txt   disable-wireless.txt (Size: 110 bytes / Downloads: 27)
.txt   gamelist.txt (Size: 3.82 KB / Downloads: 29)
Reply
#32
Now, I will pipe in on the performance thing and what I've found. (I haven't tested the wifi off yet, will do that tonight.) I have both the freeplay as well as Kite's SAIO Gameboy builds. Both with ZeroW's in them. What I'm starting to realize is the lag and glitching I'm seeing on SNES games may actually be because of the refresh rate of the LCD (maybe because of the rotation?). I do not notice any issues on my SAIO build, nor do I see it nearly as badly using HDMI. Although I don't get sound with the latter so maybe that's helping... It seems that both boards send video to the LCD in different ways (although both are through GPIO), as Kite's board will show the initial boot screens (the rainbow and raspberry logo) and the freeplay does not show until the application starts... I'm tempted to connect a LCD to the AV out of the pi to see if that makes any difference... *shrug*

Just what I've found. I'm continuing to test and will update if I figure out more.
Reply
#33
(12-20-2017, 03:53 AM)jsawhite Wrote:
(12-20-2017, 02:14 AM)Flavor Wrote: The best solution I know is to use rfkill.

The basic idea is to install it with
sudo apt-get install rfkill

And use these commands to "kill" or unkill WiFi.  You can also kill Bluetooth, I think, and you could add a menu item to do these if you wanted.
sudo rfkill block wifi
sudo rfkill unblock wifi

There's a bit more info at http://www.sudomod.com/forum/viewtopic.php?t=3239

I haven't heard from anyone that has set these up as a menu item yet, but I'd be very interested to know how that works out.

I have...  I did this on my GB build.  You need to copy 2 .sh files to the retropiemenu folder in your homedir (you have to scp it there as it doesn't show up on the SMB shares).  Mark them as executable (sudo chmod +x *.sh)  I then added it to my gamelist.xml file in that folder so it showed up nicely...  Here are my files (renamed all to .txt so I could upload, enable and disable are .sh and gamelist is .xml).  (Oh and this also requires rfkill be installed)

Thanks so much, both of you!

I also edited the files (thanks for providing them), added a logo and now they show nicely in the retropie menu Smile


Attached Files Thumbnail(s)
       
Reply
#34
Sorry for the double post...but man, performance increases when Wifi/BT is turned off. I had occasional stutters on basically every rom (except game boy color) but they are gone with the newly implemented turn on/off switch.

Ed, couldn't the switch in the retropie menu be baked into the image that you are providing? I guess many Zero W owners would appreciate it.

Best regards
Kon
Reply
#35
It sure could be! I think that would be an excellent addition.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#36
(12-20-2017, 11:43 AM)kon Wrote: Thanks so much, both of you!

I also edited the files (thanks for providing them), added a logo and now they show nicely in the retropie menu Smile

True, I'd forgotten to add icons to my entries...  I found icons and updated the gamelist.  I've attached the png files (put them in the 'icons' folder in the retropiemenu folder) and replace the gamelist with this one...  (again, rename .txt file to .xml)

I can say that disabling BT/Wifi does help with performance some.  But I'm still seeing the refresh rate issue.  For instance, in Super Castlevania IV, when you get an invincibility potion, your character flashes quickly.  On my SAIO  Richter will flash very quickly as expected.  However, on the Freeplay, he will randomly go off and on.  Sometimes not even looking like he's still under the influence, and other times just not there...  I assume the refresh rate of the LCD is not adjustable, yes?  Or can we configure that?  I can try to record both parts if you need to see what I'm talking about.


Attached Files Thumbnail(s)
       

.txt   gamelist.xml.txt (Size: 3.95 KB / Downloads: 15)
Reply
#37
(12-21-2017, 01:44 AM)jsawhite Wrote: I'm still seeing the refresh rate issue.  For instance, in Super Castlevania IV, when you get an invincibility potion, your character flashes quickly.  On my SAIO  Richter will flash very quickly as expected.  However, on the Freeplay, he will randomly go off and on.  Sometimes not even looking like he's still under the influence, and other times just not there...  I assume the refresh rate of the LCD is not adjustable, yes?  Or can we configure that?  I can try to record both parts if you need to see what I'm talking about.

I think I understand the issue you're referring to, jsawhite.  If you play on HDMI and LCD at the same time, do you see that issue on the HDMI or only on the LCD.  My guess is that you'd only see it on the LCD.

You can adjust the refresh rate, but there are multiple things at play here.

Check out the /boot/freeplayfbcp.cfg file.  It should look something like this:
https://github.com/TheFlav/rpi-fbcp/blob...ayfbcp.cfg

Notice the first line
Code:
   FREEPLAY_FPS = 60;        //120 might be best visually, but lower uses less CPU

My first suggestion would be to set that up to 120 to see if it helps.

Next, I'd try to set
Code:
   FREEPLAY_SCALE_TO_VIEWPORT=1;
to 0.  Doing this will require you to use the overscan settings in /boot/config.txt if you want the LCD to scale to the viewport properly, but you can maybe just leave them alone to run the Castlevania test.

Oh, and there's also a line in /boot/config.txt
Code:
   dtoverlay=waveshare32b,speed=80000000,fps=60,rotate=270
that controls the settings for the LCD driver itself.  You could mess with the FPS there, too.  If I recall correctly, you won't see a difference turning the speed setting up, but feel free to try.

I tried to make this stuff pretty configurable so you could tweak for this sort of stuff.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#38
Hey guys, I thought I'd post this here for anyone looking to improve SNES performance on a pi zero

https://www.reddit.com/r/emulation/comme...nd_how_to/

Some of the tips here have helped me squeeze slightly better performance on my build, particularly changing the video driver (Although this does reduce the image quality slightly). I was also wondering if anyone has any other tips to get SNES running better on a freeplay zero. I've never tried messing around with the freeplay configs and would appreciate any tips! Really want to play super mario RPG but getting the classic audio stuttering and fps drops Sad
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)