mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 10:51:57 +00:00
perf(l2): map tiles decode on the other core
- TileCache: request() hands z/x/y to a task on core 0, which renders into a spare buffer; poll() swaps it into the LRU slot (stale results dropped after drop()/invalidate()); the sim runs the job at once - MapScreen / Home map place finished tiles as they arrive; the longest UI stall with the map opening goes from ~340 to ~170 ms - LVGL allocates from the PSRAM heap (lv_mem_psram.h), safe from both tasks; LVGL's own pool is gone - lv_conf: notes why LV_OS_FREERTOS with two draw units stays off (measured slower: drawing is bound by PSRAM bandwidth) - UI_PERF_TEST: the map (tile read/decode, pan, redraw), build time and the longest loop pass per screen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -313,6 +313,9 @@ private:
|
||||
void buildHomeMap(lv_obj_t* box);
|
||||
void homeFieldText(uint8_t field, char* buf, int n);
|
||||
bool homeMapFit();
|
||||
#ifdef UI_PERF_TEST
|
||||
void perfMap(bool reset = false);
|
||||
#endif
|
||||
void homeMapLayout();
|
||||
void homeMapLoop();
|
||||
void refreshHome();
|
||||
|
||||
Reference in New Issue
Block a user