This version is outdated by a newer approved version.DiffThis version (2021/10/10 08:57) is a draft.
Approvals: 0/1

This is an old revision of the document!


Benchmarking for Batocera Guide

WIP, I still haven't actually made a benchmark example set using this guide (I probably should before publishing this but oh well).

Batocera covers a very complex landscape of both hardware it supports and systems it can emulate. Getting a rough idea of where your hardware stands and what sort of systems you can expect to emulate at full-speed can be extremely difficult for someone not already intimate familiar with the emulation and hardware scenes. Help us help them by providing some easy-to-parse benchmarks so they can make a more informed decision.

For Batocera's benchmarking purposes, it's really only necessary to see whether a game is running at full-speed or not. There is no ambiguity with this sort of system and is easy to understand by all. For future benchmarking editions, there may be mentions of the average FPS for systems that fail to run at full-speed, as some users may still find a “mostly full-speed” game acceptable to play.

For a 60 FPS game, anything between 57 to 60 FPS without noticeable stutters would be considered full-speed. Micro-stutters can usually be explained by hardware configuration and slightly less-than-optimal default settings.

For 50 FPS games, the same but anything between 47 to 50 FPS instead.

If you'd like a video example to compare to, watch this excellent one by ETA Prime:

  • 02:50 - Dreamcast This would be considered full-speed.
  • 03:18 - PS1 This would be considered full-speed.
  • 03:38 - Atomiswave This would be considered full-speed, despite the graphical issues. Theoretically, this could be fixed by using the proper drivers/settings in the emulator.
  • 04:03 - N64 This would be considered full-speed.
  • 04:54 - PSP This would be considered full-speed 3x.
  • 06:22 - Gamecube Dolphin Emulator For low-end games, this would be considered full-speed 1x. For high-end games, due to the drop down to 50 FPS, this would not be full-speed.
  • 07:38 - PS2 Emulation This would not be full-speed, as hacks/alternative regions needed to be utilised to achieve such a speed. Testing will only consider default settings.

When creating benchmarks for Batocera, leave all the settings at their default “AUTO” mode.

For older systems that might be running a Nvidia card, do try to get the official Nvidia drivers working. If it's really old, you may have to use the legacy build for v31. If the CPU/motherboard is too old for even that, you may have to use an even older version of Batocera (such as 5.26).

Still need to add in the remaining games/switch some current games for more appropriate titles. This list is the most WIP of this guide.

  • SNES
    • Low-end SNES ()
    • High-end SNES (Star Fox)
  • PSX
    • Low-end PSX ()
    • High-end PSX (Bloody Roar)
  • N64
    • Low-end N64 ()
    • High-end N64 (Goldeneye 007/Turok 2)
  • PSP
    • Low-end PSP ()
    • High-end PSP (God of War: Chains of Olympus)
  • Dreamcast
    • Low-end Dreamcast ()
    • High-end Dreamcast (Sega Rally 2)
  • Saturn?
  • GameCube
    • Low-end GameCube (Mario Kart Double Dash)
    • High-end GameCube (Auto Modellista)
  • 3DS?
    • Low-end 3DS ()
    • High-end 3DS ()
  • Wii U
    • Low-end Wii U ()
    • High-end Wii U (Breath of the Wild)
  • PS2
    • Low-end PS2 (Kingdom Hearts)
    • High-end PS2 (God of War)

Here's an example of such a benchmark:

FIXME

Batocera's benchmarking is relatively simple, intentionally so. However, if you'd like to do further benchmarking just for the sake of seeing how your hardware is doing you can utilize the MangoHUD program (Batocera v31 and higher).

  1. flatpak install com.valvesoftware.Steam.Utility.MangoHud
  2. From Batocera, launch a libretro game and close it once. This is important.
  3. export DISPLAY=:0.0
  4. /etc/init.d/S31emulationstation stop
  5. Check your logs at stdout.log and work out what the launch command was. In case it's not obvious, you can (generally) use the command below, just adapt it to your system/game.
  6. mangohud retroarch -L /usr/lib/libretro/snes9x_libretro.so --config /userdata/system/configs/retroarch/retroarchcustom.cfg --verbose "/userdata/roms/snes/Panel de Pon (Japan) [En by Zuqkeo v1.0].zip"

This will get you the following result on-screen (notice the upper left corner):

In order to quit the game, you can just hit [Alt] + [F4] or run batocera-es-swissknife –emukill. If you'd like to restart ES, run batocera-es-swissknife –restart.

  • wiki/benchmarking_for_batocera.1633849073.txt.gz
  • Last modified: 3 years ago
  • by atari