Skip to content

Commit

Permalink
PKG: optimize lr-scummvm
Browse files Browse the repository at this point in the history
- disable Tooltip
- reduce engines count (inline with LITE+ legacy)
- cap framerate->50Hz & samplerate-> 44100Hz
  • Loading branch information
Apaczer committed Feb 9, 2025
1 parent 242f170 commit 8b8ebab
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
From a6eecfa329b7fa39707a208e7071cb7b37ccb53f Mon Sep 17 00:00:00 2001
From: Apaczer <[email protected]>
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

Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
From 41720885dc0a6b0355f2b6a612eaf026bedddac8 Mon Sep 17 00:00:00 2001
From: Apaczer <[email protected]>
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 also -fno-PIC
---
backends/platform/libretro/Makefile | 5 +++--
backends/platform/libretro/lite_engines.list | 21 +++++++++++++-------
2 files changed, 17 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..29fabf9583d 100644
--- a/backends/platform/libretro/lite_engines.list
+++ b/backends/platform/libretro/lite_engines.list
@@ -1,32 +1,39 @@
+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
+voyeur
+xeen
--
2.45.2.windows.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From 21bc17a426facfbf5fb1c40f75377b3212e4335d Mon Sep 17 00:00:00 2001
From: Apaczer <[email protected]>
Date: Tue, 4 Feb 2025 22:45:05 +0100
Subject: [PATCH 4/4] LIBRETRO-core-options: cap frames=30Hz and
samprate=44,1kHz

---
backends/platform/libretro/include/libretro-core-options.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/backends/platform/libretro/include/libretro-core-options.h b/backends/platform/libretro/include/libretro-core-options.h
index 0c959b78da8..2e49481c748 100644
--- a/backends/platform/libretro/include/libretro-core-options.h
+++ b/backends/platform/libretro/include/libretro-core-options.h
@@ -249,7 +249,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "25 Hz", NULL },
{ NULL, NULL },
},
- "disabled"
+ "30 Hz"
},
{
"scummvm_samplerate",
@@ -263,7 +263,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

0 comments on commit 8b8ebab

Please sign in to comment.