sdvx: add warning about Image Resize feature affecting Live2D performance (#502)

## Link to GitHub Issue, if one exists
n/a

## Description of change
Turning on Image Resize feature completely tanks performance of Live2D
in some SDVX songs. Add a giant warning next to the UI.

On my system with RTX 4070, Sudden Death is normally a rock solid
120FPS, but drops to 30-40FPS when resizing is on.

* linear filter does not affect this at all
* window resize options also have no effect

It's really just rendering on a larger surface + calling `StretchRect`
that does this.

Additionally, hide the resolution swap option since it sees very low
usage & has potential gotchas likes this.
This commit is contained in:
bicarus
2026-01-06 16:40:54 -08:00
committed by GitHub
parent 8e23ef224a
commit ebf6382e7f
3 changed files with 32 additions and 3 deletions
+17
View File
@@ -1,9 +1,11 @@
#include "screen_resize.h"
#include "avs/game.h"
#include "external/rapidjson/document.h"
#include "external/rapidjson/pointer.h"
#include "external/rapidjson/prettywriter.h"
#include "misc/eamuse.h"
#include "util/deferlog.h"
#include "util/utils.h"
#include "util/fileutils.h"
#include "hooks/graphics/graphics.h"
@@ -78,6 +80,21 @@ namespace cfg {
root);
load_bool_value(doc, root + "enable_screen_resize", this->enable_screen_resize);
if (this->enable_screen_resize) {
if (avs::game::is_model("KFC")) {
log_warning(
"ScreenResize",
"Image Resize feature enabled for SDVX; enabling this is known to significantly "
"lower framerate for songs with Live2D!");
deferredlogs::defer_error_messages({
"Image Resize + SDVX Live2D performance warning",
" Enabling Image Resize feature is known to have significant impact",
" on Live2D performance; you should disable it"});
} else {
log_misc("ScreenResize", "enabled by config file");
}
}
load_bool_value(doc, root + "enable_linear_filter", this->enable_linear_filter);
for (size_t i = 0; i < std::size(this->scene_settings); i++) {
auto& scene = this->scene_settings[i];