From 797a36228bdb3b77b7314585a31de6f27feab51d Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 6 Apr 2021 04:42:24 +0200 Subject: Use malloc_trim to reduce memory usage after freeing memory --- src/ImageViewer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/ImageViewer.cpp') diff --git a/src/ImageViewer.cpp b/src/ImageViewer.cpp index 6efc688..9297edf 100644 --- a/src/ImageViewer.cpp +++ b/src/ImageViewer.cpp @@ -5,6 +5,7 @@ #include "../include/ResourceLoader.hpp" #include "../plugins/Manga.hpp" #include +#include #include #include #include @@ -265,6 +266,7 @@ namespace QuickMedia { min_page_center_dist = 9999999.0; page_closest_to_center = -1; + bool loaded_textures_changed = false; int page_i = 0; for(auto &page_data : image_data) { if(page_data) { @@ -287,6 +289,7 @@ namespace QuickMedia { page_data->image_status = ImageStatus::FAILED_TO_LOAD; } page_data->image.reset(); + loaded_textures_changed = true; } page_data->visible_on_screen = false; } @@ -349,10 +352,14 @@ namespace QuickMedia { if(page_data && !page_data->visible_on_screen) { fprintf(stderr, "ImageViewer: Unloaded page %d\n", 1 + i); page_data.reset(); + loaded_textures_changed = true; } ++i; } + if(loaded_textures_changed) + malloc_trim(0); + return ImageViewerAction::NONE; } -- cgit v1.2.3