Hi Steven,
Could you share the custom malloc function implemented?
I strongly recommend check this thread about ESP32+PSRAM.
In resume you need to allocate the draw buffer in PSRAM.
SPIRAM_USE_MALLOC
Include in your CMakeList.txt:
add_compile_definitions(CONFIG_LV_ATTRIBUTE_LARGE_RAM_ARRAY=EXT_RAM_BSS_ATTR)