From 14ba4f221763ed8a2890ec2474ffcad93db0c20b Mon Sep 17 00:00:00 2001 From: pecomyint Date: Wed, 30 Sep 2026 16:14:13 -0500 Subject: [PATCH 1/2] =?UTF-8?q?change:=20default=20viewer=20frame=20cache?= =?UTF-8?q?=20to=201=20=E2=80=94=201000=20cached=20frames=20of=20a=20large?= =?UTF-8?q?=20detector=20exhausts=20ram=20and=20makes=20the=20area=20detec?= =?UTF-8?q?tor=20sluggish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dashpva/scripts/seed_profile_defaults_sql.py | 6 ++++-- src/dashpva/utils/pva_reader.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/dashpva/scripts/seed_profile_defaults_sql.py b/src/dashpva/scripts/seed_profile_defaults_sql.py index fb996995..7684bd47 100644 --- a/src/dashpva/scripts/seed_profile_defaults_sql.py +++ b/src/dashpva/scripts/seed_profile_defaults_sql.py @@ -129,12 +129,14 @@ "CONSUMER_MODE": "continuous", "CACHE_OPTIONS": { "CACHING_MODE": "alignment", - "ALIGNMENT": {"MAX_CACHE_SIZE": 1000}, + # Frames kept in viewer RAM for Save HDF5 / Post-scan. One large-detector + # frame with Q is ~0.4 GB, so raise this only where it is needed. + "ALIGNMENT": {"MAX_CACHE_SIZE": 1}, "SCAN": { "START_SCAN": True, "STOP_SCAN": False, "THRESHOLD": 0.05, - "MAX_CACHE_SIZE": 1000, + "MAX_CACHE_SIZE": 1, }, "BIN": {"COUNT": 10, "SIZE": 16}, }, diff --git a/src/dashpva/utils/pva_reader.py b/src/dashpva/utils/pva_reader.py index 9fbeb3c9..fc6c2057 100644 --- a/src/dashpva/utils/pva_reader.py +++ b/src/dashpva/utils/pva_reader.py @@ -249,12 +249,12 @@ def set_cache_options(self) -> None: if self.CACHING_MODE: self.caches_needed = True if self.CACHING_MODE == 'alignment': - self.MAX_CACHE_SIZE = app_settings.ALIGNMENT_MAX_CACHE_SIZE or 100 + self.MAX_CACHE_SIZE = app_settings.ALIGNMENT_MAX_CACHE_SIZE or 1 elif self.CACHING_MODE == 'scan': self.FLAG_PV = app_settings.SCAN_FLAG_PV or '' self.START_SCAN = app_settings.SCAN_START_SCAN if app_settings.SCAN_START_SCAN is not None else True self.STOP_SCAN = app_settings.SCAN_STOP_SCAN if app_settings.SCAN_STOP_SCAN is not None else False - self.MAX_CACHE_SIZE = app_settings.SCAN_MAX_CACHE_SIZE or 100 + self.MAX_CACHE_SIZE = app_settings.SCAN_MAX_CACHE_SIZE or 1 elif self.CACHING_MODE == 'bin': self.BIN_COUNT = app_settings.BIN_COUNT or 10 self.BIN_SIZE = app_settings.BIN_SIZE or 16 From 1c162aa43d5a0942052883b06adebf93f9197f02 Mon Sep 17 00:00:00 2001 From: pecomyint Date: Wed, 30 Sep 2026 16:55:04 -0500 Subject: [PATCH 2/2] change: sample_config frame caches default to 1 to match the seeded profile --- pv_configs/sample_config.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pv_configs/sample_config.toml b/pv_configs/sample_config.toml index 8521c255..5e0e243d 100644 --- a/pv_configs/sample_config.toml +++ b/pv_configs/sample_config.toml @@ -7,14 +7,14 @@ CONSUMER_MODE = 'continuous' # options: continuous or vectorized, describes how CACHING_MODE = 'alignment' # options: '', 'alignment', 'scan', or 'bin' describes whether the caching should be done the entire time, when a flag is seen, or if it should be put into bins based on number of frames [CACHE_OPTIONS.ALIGNMENT] - MAX_CACHE_SIZE = 1000 + MAX_CACHE_SIZE = 1 [CACHE_OPTIONS.SCAN] # FLAG PV MUST BE IN METADATA SECTION START_SCAN = true STOP_SCAN = false THRESHOLD = 0.05 # use if start and stop values are not binary/boolean - MAX_CACHE_SIZE = 1000 + MAX_CACHE_SIZE = 1 [CACHE_OPTIONS.BIN] COUNT = 10