Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow performance of Bettle Saturn on Coreelec | Emuelec (linux based kodi distributions for amlogic tv boxes) #39

Open
atirage21 opened this issue Sep 14, 2024 · 7 comments

Comments

@atirage21
Copy link

atirage21 commented Sep 14, 2024

Slow performance in games (playing part, and also sound and video). It was testet on 32 bit (CE21ng) and 64 bit coreelec (CE22no). Device: Ugoos AM6plus with cpu s922xj and GPU Mali G52 MP6. Performance in not developed yabuse 0.9.15 is now better (but yabuse is not stabile due to heating of device).

Please try help to spleen1981 from CE team (add optimalization for arm/aarch64). I am only user of coreelec. Amlogic arm/aarch64 tv boxes have 2,2 ghz cpu and opengl supported gpu. Amlogic s922x is best supported arm processor in retroarch.

Rewind is and was disabled in global setting of retroarch.

I compared logs on 32 bit system Coreelec21NG from Bettle Saturn and Yabuse and i see difference in used color space in equal game.

Yabuse with 16 bit color space (RGB565) - after 5 minutes of gaming on 49,9 - 50 fps was freezed game for overheating on fanless tv box. SET_CORE_OPTIONS: V2_INTL

FPS:

movie: 49,9 - 50,0
static start menu: 50,0 (sound pcm in menu and game was ok)
game:49,9 - 50,0 ...after 5 minutes drop to 29 fps and start freezing due to overheating

Bettle Saturn with 24 bit color space (RGB888) - game is possible play long time without freezing on 36,6 - 40,2 FPS. Maybe is more slower, but game dont crashed and was easier than usually for this time :). I see potential for better performance from side in frame of optimalisation of color space. SET_CORE_OPTIONS: Core requested version >= V2, providing V3.

FPS:

movie: 44,3 - 47,3
static start menu: 45,4 (sound pcm in menu and game was small choppy |tear)
game: 36,6 - 40,2 ...succesfully played 2 level for testing with limited time

Is possible add setting of color space to Bettle Saturn or try use lower core than 3 (if lower version of core have better impact on performance with safe of visual 24 bit image) ?

In 64 bit environment of Coreeelec22NO on identic device was performance more poor for Bettle Saturn (fps in game was 30,7 - 38,9). For yabuse was identical fps performance and situation with overheating in 32 and 64 bit.

In case of Bettle Saturn with 64 bit CE22NO (aarch64) was performance about 20-30% less towards to 32 bit CE21NG (arm).

CPU datasheet:
https://github.com/spleen1981/retroarch-kodi-addon-CoreELEC
https://discourse.coreelec.org/t/retroarch-kodi-add-on-for-coreelec/17482/149

https://github.com/EmuELEC/EmuELEC/wiki/Supported-Platforms-And--Correct-Rom-Path
https://dn.odroid.com/S922X/ODROID-N2/Datasheet/S922X_Public_Datasheet_V0.2.pdf

@Kelvfimer
Copy link

Tag @spleen1981 maybe he can help

@Kelvfimer
Copy link

Kelvfimer commented Dec 20, 2024

@atirage21 Changed color to RGB565 and the result is not good Emuelec 4.8 :( Performance remains the same. I use odroid n2+

I changed libretro.cpp line

enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_XRGB8888;
if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt))
return false;
to

enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_RGB565;
if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt))
return false;

ColorRGB565

@atirage21
Copy link
Author

Please try rgb555.

ImageMagick/ImageMagick#5160

@atirage21
Copy link
Author

x1r5g5b5 or a1r5g5b5

https://wiki.multitheftauto.com/wiki/Surface_format

@Kelvfimer
Copy link

@atirage21 there are only three types enum retro_pixel_format

And only one working is the 8888. I didn't test the unknown.

@atirage21
Copy link
Author

atirage21 commented Dec 20, 2024

My idea was based that bigger colourspace, more information needed per colour, more calculations needed to accurately make those colours.

Rgb555 (16bit) is something as basis according to people which created model to sega saturn in jpeg. I only saw articles on websides.

@Kelvfimer
Copy link

@atirage21 and it is a good idea but the piece code that pointed seems not to be the right one for that. I was searching through the code and I didn't find anything similar except some video modes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants