PKG: optimize libretro-scummvm & libretro-scummvm-legacy and lighten (#150)

* PKG: optimize `lr-scummvm-legacy`
- reduce number of linked engines (only LITE+ & no WIP)
- cap framerate & increase audio_buffer (lr-option)

* PKG: optimize `lr-scummvm`
- disable Tooltip
- reduce engines count (inline with standalone)
- cap framerate->15Hz & samplerate-> 44100Hz (increase cursor speed)
This commit is contained in:
Apaczer
2025-02-10 22:26:19 +01:00
committed by GitHub
parent 0bbd0bb001
commit e1c37564d6
6 changed files with 459 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
From a6eecfa329b7fa39707a208e7071cb7b37ccb53f Mon Sep 17 00:00:00 2001
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
Date: Fri, 31 Jan 2025 21:09:07 +0100
Subject: [PATCH 2/4] gui/Tooltip: disable tooltip entirely
it is unreliable & slow
---
gui/Tooltip.cpp | 55 -------------------------------------------------
1 file changed, 55 deletions(-)
diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp
index 23e5b5f7437..ef12c467dff 100644
--- a/gui/Tooltip.cpp
+++ b/gui/Tooltip.cpp
@@ -37,64 +37,9 @@ Tooltip::Tooltip() :
}
void Tooltip::setup(Dialog *parent, Widget *widget, int x, int y) {
- assert(widget->hasTooltip());
-
- _parent = parent;
-
- setMouseUpdatedOnFocus(false);
-
- _maxWidth = g_gui.xmlEval()->getVar("Globals.Tooltip.MaxWidth", 100);
- _xdelta = g_gui.xmlEval()->getVar("Globals.Tooltip.XDelta", 0);
- _ydelta = g_gui.xmlEval()->getVar("Globals.Tooltip.YDelta", 0);
- _xpadding = g_gui.xmlEval()->getVar("Globals.Tooltip.XPadding", 2);
- _ypadding = g_gui.xmlEval()->getVar("Globals.Tooltip.YPadding", 2);
-
- const Graphics::Font *tooltipFont = g_gui.theme()->getFont(ThemeEngine::kFontStyleTooltip);
-
- _wrappedLines.clear();
- _w = tooltipFont->wordWrapText(widget->getTooltip(), _maxWidth - _xpadding * 2, _wrappedLines) + _xpadding * 2;
- _h = (tooltipFont->getFontHeight() + 2) * _wrappedLines.size() + _ypadding * 2;
-
- _x = MIN<int16>(parent->_x + x + _xdelta + _xpadding, g_system->getOverlayWidth() - _w - _xpadding * 2);
- _y = MIN<int16>(parent->_y + y + _ydelta + _ypadding, g_system->getOverlayHeight() - _h - _ypadding * 2);
-
- if (g_gui.useRTL())
- _x = g_system->getOverlayWidth() - _w - _x + g_gui.getOverlayOffset();
-
- if (ConfMan.hasKey("tts_enabled", "scummvm") &&
- ConfMan.getBool("tts_enabled", "scummvm")) {
- Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
- if (ttsMan == nullptr)
- return;
- ttsMan->say(widget->getTooltip(), Common::TextToSpeechManager::QUEUE_NO_REPEAT);
- }
}
void Tooltip::drawDialog(DrawLayer layerToDraw) {
- int num = 0;
- int h = g_gui.theme()->getFontHeight(ThemeEngine::kFontStyleTooltip) + 2;
-
- Dialog::drawDialog(layerToDraw);
-
- int16 textX = g_gui.useRTL() ? _x - 1 - _xpadding : _x + 1 + _xpadding;
- int16 textY = _y + 1 + _ypadding;
-
- Graphics::TextAlign textAlignment = g_gui.useRTL() ? Graphics::kTextAlignRight : Graphics::kTextAlignLeft;
-
- for (Common::U32StringArray::const_iterator i = _wrappedLines.begin(); i != _wrappedLines.end(); ++i, ++num) {
- g_gui.theme()->drawText(
- Common::Rect(textX, textY + num * h, textX + _w, textY + (num + 1) * h),
- *i,
- ThemeEngine::kStateEnabled,
- textAlignment,
- ThemeEngine::kTextInversionNone,
- 0,
- false,
- ThemeEngine::kFontStyleTooltip,
- ThemeEngine::kFontColorNormal,
- false
- );
- }
}
}
--
2.45.2.windows.1

View File

@@ -0,0 +1,94 @@
From 5a2e1d3ec02f976a446b94850fa3fcf260648f2b Mon Sep 17 00:00:00 2001
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
Date: Mon, 3 Feb 2025 21:22:13 +0100
Subject: [PATCH 3/4] LIBRETRO-Makefile: optimize by reducing engines count
(LITE)
- discard HIGH_DEF engines from lite_engine.list & inline with legacy (add ultima4)
- add also -fno-PIC
Update lite_engines.list
---
backends/platform/libretro/Makefile | 5 +++--
backends/platform/libretro/lite_engines.list | 22 +++++++++++++-------
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile
index af2063fef82..c66c6cccfa0 100644
--- a/backends/platform/libretro/Makefile
+++ b/backends/platform/libretro/Makefile
@@ -280,9 +280,9 @@ else ifeq ($(platform), miyoo)
LD = /opt/miyoo/usr/bin/arm-linux-g++
AR = /opt/miyoo/usr/bin/arm-linux-ar cru
RANLIB = /opt/miyoo/usr/bin/arm-linux-ranlib
- DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fPIC
+ DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fno-PIC
DEFINES += -ffunction-sections -fdata-sections -DDEFAULT_PERF_TUNER -DREDUCE_MEMORY_USAGE -DUNCACHED_PLUGINS
- LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fPIC
+ LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fno-PIC
USE_VORBIS = 0
USE_THEORADEC = 0
USE_TREMOR = 1
@@ -290,6 +290,7 @@ else ifeq ($(platform), miyoo)
USE_CURL = 0
USE_MT32EMU = 0
USE_HIGHRES := 0
+ LITE := 1
# MIYOOMINI
else ifeq ($(platform), miyoomini)
diff --git a/backends/platform/libretro/lite_engines.list b/backends/platform/libretro/lite_engines.list
index bc681b60598..efb6d85f6e8 100644
--- a/backends/platform/libretro/lite_engines.list
+++ b/backends/platform/libretro/lite_engines.list
@@ -1,32 +1,40 @@
+access
agi
agos
-agos2
cine
cruise
draci
drascula
eob
gob
-groovie
he
ihnm
kyra
+lab
lol
lure
made
-mortevielle
parallaction
+plumbers
queen
saga
sci
-sci32
scumm
scumm_7_8
sherlock
sky
-sword1
-sword2
teenagent
tinsel
-touche
tucker
+bbvs
+cge
+cge2
+dreamweb
+hugo
+illusions
+mads
+supernova
+tsage
+ultima4
+voyeur
+xeen
--
2.45.2.windows.1

View File

@@ -0,0 +1,49 @@
From 8f24612c205b379a65467c55823341515a14e83f Mon Sep 17 00:00:00 2001
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
Date: Tue, 4 Feb 2025 22:45:05 +0100
Subject: [PATCH 4/4] LIBRETRO-core-options: cap frames=15Hz and
samprate=44,1kHz
due to capped fps, increase also "Gamepad Cursor Speed"
---
.../platform/libretro/include/libretro-core-options.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/backends/platform/libretro/include/libretro-core-options.h b/backends/platform/libretro/include/libretro-core-options.h
index 0c959b78da8..816883bc7c9 100644
--- a/backends/platform/libretro/include/libretro-core-options.h
+++ b/backends/platform/libretro/include/libretro-core-options.h
@@ -128,7 +128,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{"3.0", NULL},
{NULL, NULL},
},
- "1.0"
+ "2.5"
},
{
"scummvm_gamepad_cursor_acceleration_time",
@@ -247,9 +247,11 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "50 Hz", NULL },
{ "30 Hz", NULL },
{ "25 Hz", NULL },
+ { "15 Hz", NULL },
+ { "10 Hz", NULL },
{ NULL, NULL },
},
- "disabled"
+ "15 Hz"
},
{
"scummvm_samplerate",
@@ -263,7 +265,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "44100 Hz", NULL },
{ NULL, NULL },
},
- "48000 Hz"
+ "44100 Hz"
},
/* Button mappings */
{
--
2.45.2.windows.1