libretro / mame

MAME - Multiple Arcade Machine Emulator
Other
62 stars 72 forks source link

Odroid n2+ performance very slow #388

Open Kelvfimer opened 1 year ago

Kelvfimer commented 1 year ago

Hello

The performance on odroid n2+ is very slow, I know that the higher is mame version the more accurate is and requires more cpu. mem etc.

However is strange as with machines that I think should be very high cpu performance mame is very slow. For sample STV games or ZN1 games.

I'm using the following flags. I'm wondering if there is any jit optimization or other kind of optimization that I can use.

thx

PKG_MAKE_OPTS_TARGET="REGENIE=1 \ VERBOSE=1 \ NOWERROR=1 \ OPENMP=1 \ CROSS_BUILD=1 \ TOOLS=0 \ RETRO=1 \ DEBUG=0 \ OPTIMIZE=3 \ PTR64=${PTR64} \ NOASM=${NOASM} \ PYTHON_EXECUTABLE=python3 \ CONFIG=libretro \ LIBRETRO_OS=unix \ LIBRETRO_CPU=arm64 \ PLATFORM=arm64 \ ARCH= \ TARGET=mame \ SUBTARGET=mame \ OSD=retro \ USE_SYSTEM_LIB_EXPAT=1 \ USE_SYSTEM_LIB_ZLIB=1 \ USE_SYSTEM_LIB_FLAC=1 \ USE_SYSTEM_LIB_SQLITE3=1"

grant2258 commented 1 year ago

what branch did you compile? Also are you cross compiling compiling if so what toolchain are you using need a little more info.

Kelvfimer commented 1 year ago

Thx for your answer @grant2258

The toolchain I'm using is the emeuelec one https://github.com/EmuELEC/EmuELEC/blob/dev/packages/virtual/toolchain/package.mk

I'm compiling main branch,

thx I wait for you ;)

grant2258 commented 1 year ago

Just check if all the toolchain flags are being used when mames compiling. I would need to compile that toolchain to see whats its doing.

If all the toolchains flags are reaching mame it should be fine. If not youll need to pass them on with ARCHOPTS .

Kelvfimer commented 1 year ago

thx @grant2258 it's used archopts

export ARCHOPTS="-Daarch64 -DASMJIT_BUILD_X86"

sed -i "s/-static-libstdc++//g" scripts/genie.lua

unset ARCH unset DISTRO unset PROJECT

}

pls any other idea? :)

grant2258 commented 1 year ago

I mean you device specific flags set in the tool chain are they passed onto mame. The is no jit for arm at all for mame. If all your cpu optimization flags are passed along to mame its just as good as its going to get. What device did you compile your toolchain with?

Kelvfimer commented 1 year ago

Ubuntu 22.04 WSL is my host machine and the target board odroid n2+ a73 and a53

grant2258 commented 1 year ago

well you have verbose set so the output will tell you if the flags are being sent to mame. It displays the full compile line should be easy enough to tell. IF that info isint being passed then you could get some gains by passing it else its as good as its going to be.