mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-01 22:30:42 -07:00
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:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user