Kodi Community Forum

Full Version: Choppy Gameplay
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Recently installed RetroPlayer 15.2 pre-release 2015-10-27 (819cd72...0cd04eb) OpenELEC Generic build on a ZBOX ID84.

Specifications
• NVIDIA® GeForce® GT 520M GPU (512MB)
• Intel® Atom™ D2550 CPU (1.86 GHz, dual-core)
• 2 GB Memory
• 32 GB SSD

All of the normal Kodi features work great, including streaming 1080p, but all of the SNES and NES emulators I've tried are so choppy they're unplayable. I would expect no issues considering I have an original Xbox that is out performing my HTPC in regards to emulation. Are there tweaks or suggestions to help improve emulator performance in the OpenELEC build?
Try disabling real-time rewind in the Game settings.

Image
Thanks. I disabled as suggested which helped with NES but SNES is still unplayable. Any other tweaks and/or suggestions?
Hm. Emulation is very CPU intensive, and the lowest spec in your hardware is that power-friendly Atom chip. Maybe it can't keep up with the demands of more complex systems?

All of our cores are from the RetroArch project. The next step is to try the same core in RetroArch. If this works, then it's a problem with Kodi, if not it's something we can't fix.

Speaking of which, we're adding another two RetroArch cores for SNES in the next week or so. These cores will have a different CPU impact, so maybe they'll work better. Keep an eye out for the line "Added Snes9x and Snes9x-Next" in the builds thread.
Also, because rewind is such a huge impact on performance right now (really need to look into SIMD optimizations), I've started a rewind support column in the Game add-on support matrix, http://kodi.wiki/view/Game_add-ons . In the next few months, I'll refactor Kodi's libretro wrapper to provide this info and update the matrix as it's available.
Or you could try a more recent build? The one from 10-27 is a bit old, and garbear has improved a lot since then.
(2015-12-29, 10:33)garbear Wrote: [ -> ]Hm. Emulation is very CPU intensive, and the lowest spec in your hardware is that power-friendly Atom chip. Maybe it can't keep up with the demands of more complex systems?

All of our cores are from the RetroArch project. The next step is to try the same core in RetroArch. If this works, then it's a problem with Kodi, if not it's something we can't fix.

Speaking of which, we're adding another two RetroArch cores for SNES in the next week or so. These cores will have a different CPU impact, so maybe they'll work better. Keep an eye out for the line "Added Snes9x and Snes9x-Next" in the builds thread.

@garbear: bsnes supports 3 profiles: Accuracy, Balanced and Performance. These profile have to be selected at compile time retroarch ships 3 versions for bsnes-mercury. In Kodi game.libretro.bsnes-mercury uses the default which is accuracy (very resource intensive). I think it would be a good idea to also offer 3 addons here. If you clone the repos in Kodi-Game (to game.libretro.bsnes-mercury-balanced and game.libretro.bsnes-mercury-performance), I'll create PRs with the changes.
OK, bSNES Mercury has been split into three copies. Do we need to do the same for Beetle bSNES?

EDIT: If so, we should probably make this an add-on setting so we don't end up with 3 copies of every bSNES derivative
(2015-12-29, 11:23)garbear Wrote: [ -> ]OK, bSNES Mercury has been split into three copies. Do we need to do the same for Beetle bSNES?

Cool. I'll create the PRs in a few minutes. Retroarch only ships one version for beetle/mednafen. They do have 3 versions however also for "bsnes". But that can be done once a game addon for that core is created. Not sure if we need that now as it's just the vanilla bsnes version without some performance improvements done for retroarch.

EDIT: Is it possible to have 3 dynamic libs shipped with the addon that are selected by a setting?
Not sure if it's worth a bigger change. I looked at the retroarch core and bsnes seems to be the only case where that would be needed.
Note: I was asking about mednafen in #retroarch and they pointed me to the bsnes mercury.
(2015-12-29, 11:31)cfetzer Wrote: [ -> ]Cool. I'll create the PRs in a few minutes. Retroarch only ships one version for beetle/mednafen. They do have 3 versions however also for "bsnes". But that can be done once a game addon for that core is created. Not sure if we need that now as it's just the vanilla bsnes version without some performance improvements done for retroarch.

I don't think vanilla bSNES is even shipped with RetroArch anymore. When I started this project, Beetle bSNES (Then called Mednafen bSNES) was the recommended core. Looks like it's been eclipsed by bSNES Mercury. I remember that Mednafen bSNES had 3 profiles too. So if we include Beetle bSNES, we should include all 3 profiles.

(2015-12-29, 11:31)cfetzer Wrote: [ -> ]EDIT: Is it possible to have 3 dynamic libs shipped with the addon that are selected by a setting?
Not sure if it's worth a bigger change. I looked at the retroarch core and bsnes seems to be the only case where that would be needed.

No, it's not possible, just a matter of whether it's worth the extra effort. In this case, probably not Smile
(2015-12-29, 12:08)garbear Wrote: [ -> ]When I started this project, Beetle bSNES (Then called Mednafen bSNES) was the recommended core. Looks like it's been eclipsed by bSNES Mercury. I remember that Mednafen bSNES had 3 profiles too. So if we include Beetle bSNES, we should include all 3 profiles.

Sure, but according to https://github.com/libretro/beetle-bsnes-libretro and http://buildbot.libretro.com/nightly/linux/x86/latest/ there are no profiles (anymore) for it.
The newest build includes Snes9x and Snes9x Next on windows. Can you give those a try?
Maybe rewind should be disabled by default if it causes issues on lower power systems.