Out of memory exceptions in Stardew Valley 1.5, part II
Pathoschild opened this issue ยท 6 comments
Some players continue to experience OutOfMemoryException
errors after #749.
Known cases
date | report | log | notes |
---|---|---|---|
2021-01-24 | Oididoi on Discord | log | Windows 10, 64GB of RAM, SMAPI 3.9, 88 mods and 173 packs. Error in Json Assets. Happened at 1.8GB RAM usage (and previously at 3.2GB). |
2021-01-24 | rikkabull1 on Nexus | log | Windows 10, 16 GB of RAM, SMAPI 3.8.4, 42 mods and 55 packs. Error in save (patched by SpaceCore) after TMXL changes. Happened at 1.9GB RAM usage; see memory usage and process list. User can reproduce by going to Pelican Town and Ridgeside, back home, and saving twice. |
2021-01-25 | shadowuser07 on Nexus | log log |
Windows 10, 8GB of RAM, SMAPI 3.9, 17 mods and 26 packs. Error in save (patched by SpaceCore); previously happened when entering the forest area in 11-fall-Y3. See memory usage and (from a separate instance) process list. |
2021-01-26 | Kakosa on Nexus | log | Windows 10, 4GB of RAM, SMAPI 3.9.1, 133 mods and 425 packs. Error in save (patched by SpaceCore). Happened at 1.2GB of memory. See memory usage and process list. |
2021-01-26 | Lizardqueen2099 on Nexus | log | Windows 10, 32GB of RAM, SMAPI 3.9.1, 89 mods and 314 packs. Error happens in save (patched by SpaceCore) at 3.3GB RAM. |
2021-01-28 | Kite on Discord | log | Windows 10, 32GB of RAM, SMAPI 3.9.1, 100 mods and 392 packs. Error in save (patched by SpaceCore). Reports it started happening roughly a week ago. See memory usage. |
All known affected players have SpaceCore 1.5.3, and we found a memory leak in that version's save serializer. That's fixed in SpaceCore 1.5.4, and at least one player confirmed updating fixed their errors. Currently waiting for more data.
I noticed all the logs contain the use of Custom Music. Looking into this mod, it does not use any form of Audio Banks or Chunking like a video game typically does. It loads the music files into memory at once, and the files are lossless, uncompressed .WAV files. This is a concern, and could contribute heavily to OOM errors since Stardew Valley is a 32-bit application.
Typically some type of Audio Bank is used partly for organization, partly for memory management. Omitting the use of some banking assets / software also makes loading a pain, because loading such large files on the UI Thread will jam it up making it unresponsive for a bit.
I maybe able to propose a solution soon, and it would require content creators to use a tool to build audio banks. But this could potentially free up a fair amount of memory problems that's starting to occur.
Thanks! I think that's the last piece of the puzzle. This seems to be a confluence of four issues:
- Custom Music uses a large portion of the available memory, so memory leaks will cause issues much more quickly.
- SpaceCore had a memory leak in its save serializer (fixed in 1.5.4), which is why affected players often had errors on save.
- SMAPI had a memory leak when reloading some assets (fixed in the upcoming 3.9.2).
- Content Patcher had an issue where it would reload some assets much more often than needed, rapidly compounding the previous issue (fixed in the upcoming 1.20).
I have a test build of SMAPI 3.9.2 and Content Patcher 1.20 pinned in #using-mods, and it seems to have solved it for the affected users who tried it so far.
Given the number of mods available, I think it's inevitable that some other mods have memory leaks. So if we can find a way to reduce the amount of memory used by Custom Music, that'll significantly reduce out-of-memory errors in the future.
The SMAPI and CP optimizations seem to fix it for many players, but a few players are still reporting errors.
One affected player ran a custom build of SMAPI to track Map
/Texture2D
asset instances, and the number of live instances in memory was relatively stable between save loaded and the error. So it doesn't seem like that should still be a major factor with the recent SMAPI and CP updates.
The errors often happen in the PyTK/SpaceCore save serializers. I'm planning an AddLocation
feature in an upcoming Content Patcher update, which will let us convert some larger content packs to pure Content Patcher and test with & without PyTK.
expand for comparison
label | meaning |
---|---|
live | The asset is in memory and active. |
disposed | Dispose() was called on the asset, but it's still in memory. |
dead | The asset is no longer in memory. |
After save loaded:
Total counts: 6324 (+103) live, 61 (+55) disposed, 9370 (+6623) dead.
asset name live disposed dead
----------------------------------------------------------------------- ------------ ------------ ------------
NicteLetterBackground.png 96 0 0
Maps\paths 32 0 0
Maps\spring_town 16 0 0
Maps\spring_beach 13 0 0
assets\Icon.png 13 0 0
Maps\spring_outdoorsTileSheet 12 0 17
Maps\spring_outdoorsTileSheet2 10 0 0
Maps\townInterior 8 (-2) 0 26 (+6)
Maps\Mines\mine 8 0 0
Maps\summer_outdoorsTileSheet 6 0 2
assets\jelly.png 6 0 0
sproomsts.png 6 0 0
Characters\George 5 (+3) 1 (+1) 22 (+21)
Characters\Jodi 5 (+3) 1 (+1) 22 (+21)
Characters\Penny 5 (+3) 1 (+1) 22 (+21)
Characters\Elliott 5 (+3) 1 (+1) 22 (+21)
Characters\Robin 5 (+3) 1 (+1) 22 (+21)
Characters\Marnie 5 (+3) 1 (+1) 22 (+21)
Maps\spring_monsterGraveTiles 5 0 0
assets\honey.png 5 0 0
assets\juice.png 5 0 0
assets\pickles.png 5 0 0
assets\wine.png 5 0 0
Characters\Evelyn 4 (+2) 1 (+1) 25 (+24)
Characters\Vincent 4 (+2) 1 (+1) 25 (+24)
Characters\Gus 4 (+2) 1 (+1) 25 (+24)
Characters\ParrotBoy 4 (+2) 1 (+1) 25 (+24)
Characters\Alex 4 (+2) 1 (+1) 23 (+22)
Characters\Emily 4 (+2) 1 (+1) 23 (+22)
Characters\Haley 4 (+2) 1 (+1) 23 (+22)
Characters\Clint 4 (+2) 1 (+1) 23 (+22)
Characters\Lewis 4 (+2) 1 (+1) 23 (+22)
Characters\Caroline 4 (+2) 1 (+1) 23 (+22)
Characters\Pam 4 (+2) 1 (+1) 23 (+22)
Characters\Maru 4 (+2) 1 (+1) 23 (+22)
Characters\Demetrius 4 (+2) 1 (+1) 23 (+22)
Characters\Linus 4 (+2) 1 (+1) 23 (+22)
Characters\Shane 4 (+2) 1 (+1) 23 (+22)
Characters\Leah 4 (+2) 1 (+1) 23 (+22)
Characters\Willy 4 (+2) 1 (+1) 23 (+22)
assets\CharacterFiles\OverworldSprites\Gunther\Gunther.png 4 0 (-1) 25 (+13)
Maps\springobjects 4 0 8
Maps\DesertTiles 4 0 6
Characters\Sam 4 (+2) 0 6 (+5)
Characters\Abigail 4 (+2) 0 6 (+5)
Characters\Harvey 4 (+2) 0 6 (+5)
Characters\Sebastian 4 (+2) 0 6 (+5)
Characters\Jas 4 (+2) 0 6 (+5)
Maps\walls_and_floors 4 0 5
Maps\spring_daisyextras 4 0 4
assets\sfr\spring_daisyextras.png 4 0 4
assets\walls_and_floors.png 4 0 3
Maps\summer_town 4 0 1
Maps\winter_beach 4 0 0
Maps\summer_beach 4 0 0
DenverSpouseRoom.tmx 4 0 0
assets\SpouseRooms\VictorsRoom.tmx 4 0 0
assets\SpouseRooms\OliviasRoom.tmx 4 0 0
assets\SpouseRooms\SophiasRoom.tmx 4 0 0
assets\SpouseRooms\ClairesRoom.tmx 4 0 0
assets\RoomAlissa.tmx 4 0 0
assets\RoomCorine.tmx 4 0 0
assets\RoomFlor.tmx 4 0 0
assets\RoomMaddie.tmx 4 0 0
assets\RoomYsabelle.tmx 4 0 0
assets\RoomIan.tmx 4 0 0
assets\RoomJeric.tmx 4 0 0
assets\RoomKenneth.tmx 4 0 0
assets\RoomPhilip.tmx 4 0 0
assets\RoomShiro.tmx 4 0 0
assets\SpouseRoomLunna.tmx 4 0 0
assets\SpouseRoomBianka.tmx 4 0 0
assets\SpouseRoomRaphael.tmx 4 0 0
LyellsRoom.tmx 4 0 0
assets\GregoryRoom.tmx 4 0 0
assets\SheilaSpouseRoom.tmx 4 0 0
townInterior.png 4 0 0
MikeSpouseRoom.tmx 4 0 0
MonaSpouseRoom.tmx 4 0 0
PaulSpouseRoom.tmx 4 0 0
RoomAlissa.tmx 4 0 0
RoomCorine.tmx 4 0 0
RoomFlor.tmx 4 0 0
RoomMaddie.tmx 4 0 0
RoomYsabelle.tmx 4 0 0
RoomIan.tmx 4 0 0
RoomJeric.tmx 4 0 0
RoomKenneth.tmx 4 0 0
RoomPhilip.tmx 4 0 0
RoomShiro.tmx 4 0 0
ShikoSpouseRoom.tmx 4 0 0
SorrenSpouseRoom.tmx 4 0 0
Characters\Kent 3 (+2) 1 (+1) 24 (+24)
Characters\Lunna 3 (+2) 1 (+1) 22 (+22)
Characters\Bianka 3 (+2) 1 (+1) 22 (+22)
Characters\Raphael 3 (+2) 1 (+1) 22 (+22)
assets\CharacterFiles\Lunna\Lunna_sprite.png 3 (+2) 1 (+1) 22 (+22)
assets\CharacterFiles\Bianka\Bianka_sprite.png 3 (+2) 1 (+1) 22 (+22)
assets\CharacterFiles\Raphael\Raphael_sprite.png 3 (+2) 1 (+1) 22 (+22)
Characters\Gunther 3 0 (-1) 11 (+7)
assets\CharacterFiles\Portraits\Gunther\Gunther.png 3 (-1) 0 (-1) 8 (+2)
Portraits\Jas 3 (+1) 0 7 (+6)
assets\Tilesheets\spring_z_extras.png 3 0 6
Characters\Denver 3 (+2) 0 5 (+5)
assets\DenverSprites_Spring.png 3 (+2) 0 5 (+5)
Maps\Festivals 3 0 4
Maps\island_tilesheet_1 3 0 4
Maps\fall_outdoorsTileSheet 3 0 3
Maps\Forest 3 (+2) 0 3 (+2)
assets\Maps\Locations\Forest.tbin 3 (+2) 0 3 (+2)
Maps\spring_z_extras 3 0 2
Maps\townInterior_2 3 0 2
Maps\z_SVEbuildingShadow 3 0 2
Maps\fall_town 3 0 2
LooseSprites\parrots 3 (+2) 0 2 (+2)
assets\Tilesheets\z_SVEbuildingShadow.png 3 0 2
Maps\spring_EastScarpe 3 0 1
Maps\VanillaWallsAndFloors 3 0 1
Maps\VanillaFurniture 3 0 1
Maps\VanillaCraftables 3 0 1
Maps\VanillaSpringObjects 3 0 1
Maps\fall_z_extras 3 0 1
Maps\SewerTiles 3 0 1
assets\Tilesheets\VanillaWallsAndFloors.png 3 0 1
assets\Tilesheets\VanillaFurniture.png 3 0 1
assets\Tilesheets\VanillaCraftables.png 3 0 1
assets\Tilesheets\VanillaSpringObjects.png 3 0 1
assets\Tilesheets\fall_z_extras.png 3 0 1
assets\TileSheets\NewEastScarpe\spring_EastScarpe.png 3 0 1
Maps\spring_island_tilesheet_1 3 0 0
Maps\Mines\mine_desert 3 0 0
Maps\Mines\mine_frost 3 0 0
Maps\Mines\mine_lava 3 0 0
assets\sproomsts.png 3 0 0
KhadijaBG.png 3 0 0
Characters\Farmer\farmer_girl_base 3 0 0
Characters\Farmer\skinColors 3 0 0
Portraits\Evelyn 2 1 (+1) 27 (+26)
Portraits\Vincent 2 1 (+1) 27 (+26)
Portraits\Gus 2 1 (+1) 27 (+26)
Portraits\Demetrius 2 1 (+1) 27 (+26)
Portraits\Linus 2 1 (+1) 27 (+26)
Portraits\ParrotBoy 2 1 (+1) 27 (+26)
Portraits\Willy 2 1 (+1) 26 (+25)
Portraits\George 2 1 (+1) 25 (+24)
Portraits\Alex 2 1 (+1) 25 (+24)
Portraits\Emily 2 1 (+1) 25 (+24)
Portraits\Haley 2 1 (+1) 25 (+24)
Portraits\Jodi 2 1 (+1) 25 (+24)
Portraits\Clint 2 1 (+1) 25 (+24)
Portraits\Lewis 2 1 (+1) 25 (+24)
Portraits\Caroline 2 1 (+1) 25 (+24)
Portraits\Pierre 2 1 (+1) 25 (+24)
Portraits\Pam 2 1 (+1) 25 (+24)
Portraits\Penny 2 1 (+1) 25 (+24)
Portraits\Elliott 2 1 (+1) 25 (+24)
Portraits\Maru 2 1 (+1) 25 (+24)
Portraits\Robin 2 1 (+1) 25 (+24)
Portraits\Marnie 2 1 (+1) 25 (+24)
Portraits\Shane 2 1 (+1) 25 (+24)
Portraits\Leah 2 1 (+1) 25 (+24)
assets\furniture.png 2 0 137
TileSheets\Craftables 2 (+1) 0 27 (+21)
LooseSprites\font_bold 2 (+1) 0 21 (+21)
Portraits\Denver 2 (+1) 0 6 (+6)
assets\portraits_Spring.png 2 (+1) 0 6 (+6)
Characters\Farmer\shirts 2 0 5
Characters\Farmer\pants 2 0 5
Characters\Farmer\hats 2 0 5
Portraits\Birdie 2 0 (-1) 4 (+1)
assets\Tilesheets\Festivals.png 2 0 4
Maps\coopTiles 2 0 3
Maps\cave_daisyextras 2 0 3
Portraits\Gunther 2 (-1) 0 (-1) 3 (+2)
assets\cave_daisyextras.png 2 0 3
LooseSprites\Cursors 2 0 2
Maps\fall_beach 2 0 2
Maps\z_ForestWest_Mist 2 0 2
Maps\DesertTiles_Extended 2 0 2
Maps\z_WizardBasementLights 2 0 2
Maps\AquariumEmpty7 2 0 2
Maps\AquariumEmpty44 2 0 2
Maps\fall_daisyextras 2 0 2
Maps\summer_daisyextras 2 0 2
Maps\z_Mountain_Mist 2 0 2
Maps\z_Forest_mist 2 0 2
Maps\z_railroad_mist 2 0 2
Maps\z_backwoods_mist 2 0 2
Characters\Birdie 2 0 (-1) 2 (+1)
assets\Tilesheets\z_ForestWest_Mist.png 2 0 2
assets\Tilesheets\z_WizardBasementLights.PNG 2 0 2
assets\Tilesheets\z_Mountain_Mist.png 2 0 2
assets\Tilesheets\z_Forest_mist.png 2 0 2
assets\Tilesheets\z_railroad_mist.png 2 0 2
assets\Tilesheets\z_Backwoods_Mist.png 2 0 2
assets\sfr\fall_daisyextras.png 2 0 2
assets\sfr\summer_daisyextras.png 2 0 2
assets\Aquariums\Forest\AquariumEmpty7.png 2 0 2
assets\Aquariums\MNF\Shinidamachu\AquariumEmpty44.png 2 0 2
assets\signs.png 2 0 2
Maps\spring_lighthouse 2 0 1
Maps\fall_EastScarpe 2 0 1
Maps\ForestWest_Shadow 2 0 1
Maps\z_FireLight 2 0 1
Maps\spring_z_wtd_tilesheet 2 0 1
Maps\bathhouse_tiles 2 0 1
Maps\Lyell_Craftables 2 0 1
Maps\spring_crops 2 0 1
Maps\spring_lyellhouse 2 0 1
Maps\AquariumEmpty18 2 0 1
Maps\AquariumEmpty20 2 0 1
Maps\fall_outdoorsTileSheet2 2 0 1
Characters\Pierre 2 0 1
assets\Tilesheets\ForestWest_Shadow.png 2 0 1
assets\Tilesheets\z_FireLight.png 2 0 1
assets\TileSheets\NewEastScarpe\spring_lighthouse.png 2 0 1
assets\TileSheets\NewEastScarpe\fall_EastScarpe.png 2 0 1
assets\Maps\Tilesheets\Lyell_Craftables.png 2 0 1
assets\Maps\Tilesheets\spring_crops.png 2 0 1
assets\Maps\Tilesheets\spring_lyellhouse.png 2 0 1
assets\Aquariums\Slimejack\AquariumEmpty18.png 2 0 1
assets\Aquariums\VoidSalmon\AquariumEmpty20.png 2 0 1
assets\recolors\sfr-o\spring_z_wtd_tilesheet.png 2 0 1
Maps\characterSheet 2 0 0
Maps\bugLandTiles 2 0 0
Maps\witchSwampTiles 2 0 0
Maps\summer_outdoorsTileSheet2 2 0 0
Maps\winter_outdoorsTileSheet2 2 0 0
Maps\farmhouse_tiles 2 0 0
Maps\spring_z_mailboxes 2 0 0
Maps\zGrandpasFarm_CanopyShadow 2 0 0
Maps\zGrandpasFarm_UnderCanopyShadow 2 0 0
Maps\z_WizardTowerLights 2 0 0
Maps\WitchHutTiles 2 0 0
Maps\Mines\mine_dark 2 0 0
Maps\night_market_tilesheet_objects 2 0 0
Maps\summer_z_mailboxes 2 0 0
Maps\Mines\volcano_dungeon 2 0 0
Maps\Mines\volcano_caldera 2 0 0
Maps\z_CalderaLights 2 0 0
Maps\AquariumEmpty27 2 0 0
Maps\AquariumEmpty24 2 0 0
Maps\AquariumEmpty25 2 0 0
Maps\AquariumEmpty26 2 0 0
Maps\z_Leaves 2 0 0
Maps\nightSceneMaru 2 0 0
Maps\spring_sgf_v2 2 0 0
Maps\z_enhancedtiles_unicornedit 2 0 0
Maps\z_floor 2 0 0
Maps\z_outside_indoors 2 0 0
Maps\z_window 2 0 0
Maps\EastScarpe 2 0 0
Maps\VetHouse 2 0 0
Maps\BlueMoonVineyard 2 0 0
Maps\TownEast 2 0 0
Maps\ShearwaterBridge 2 0 0
Maps\ForestWest 2 0 0
Maps\LostWoods 2 0 0
Maps\GrandpasShed 2 0 0
Maps\GrandpasShedRuins 2 0 0
Maps\GrandpasShedOutside 2 0 0
Maps\JojaEmporium 2 0 0
Maps\RidgesideVillage 2 0 0
Maps\RSVCableCar 2 0 0
Maps\RSVCliff 2 0 0
Maps\RSVTheRide 2 0 0
assets\images\tilesheets\wayback-foliageredone\spring_z_mailboxes.png 2 0 0
assets\images\tilesheets\wayback-foliageredone\summer_z_mailboxes.png 2 0 0
assets\meat shop tile.png 2 0 0
Objects\Black Tea\object.png 2 0 0
Objects\Oolong Tea\object.png 2 0 0
Objects\White Tea\object.png 2 0 0
Objects\Horse Hair\object.png 2 0 0
assets\paths.png 2 0 0
assets\lemurfurniture.png 2 0 0
assets\MapPatches\AndyHouseClean.tbin 2 0 0
assets\MapPatches\AndyFarmHealthy.tbin 2 0 0
assets\MapPatches\CrimsonBadlandsUnlocked.tbin 2 0 0
assets\MapPatches\ShrineOfIllusions.tbin 2 0 0
assets\Maps\MapPatches\CommunityCenter_Refurbished.tbin 2 0 0
assets\Tilesheets\zGrandpasFarm_CanopyShadow.png 2 0 0
assets\Tilesheets\zGrandpasFarm_UnderCanopyShadow.png 2 0 0
assets\Tilesheets\z_WizardTowerLights.png 2 0 0
assets\Tilesheets\z_CalderaLights.png 2 0 0
assets\Tilesheets\z_Leaves.png 2 0 0
assets\Rose-portrait.png 2 0 0
assets\Image\Sprite.png 2 0 0
assets\Tilesheets\fall_sgf_v2.png 2 0 0
assets\zcompactbathroom_tiles.png 2 0 0
assets\LunnaLakeOpen.tbin 2 0 0
assets\FallsCaveOpen.tbin 2 0 0
assets\LunnaWestForestOpen.tbin 2 0 0
assets\base\z_enhancedtiles_unicornedit.png 2 0 0
assets\base\z_outside_indoors.png 2 0 0
assets\base\z_floor.png 2 0 0
assets\base\z_window.png 2 0 0
assets\Aquariums\MNF\Mines\AquariumEmpty27.png 2 0 0
assets\Maps\CustomTS\custom.png 2 0 0
assets\Maps\CustomTS\lunna_sparkle.png 2 0 0
assets\Maps\CustomTS\Museumbeach.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Clownfish\AquariumEmpty24.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Angelfish\AquariumEmpty25.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Mixed\AquariumEmpty26.png 2 0 0
[snipped assets with one instance]
And right after the OutOfMemoryException
error:
Total counts: 6443 (+2) live, 1 (-73) disposed, 16307 (+2563) dead.
asset name live disposed dead
--------------------------------------------------------------------- ------------ ------------ ------------
NicteLetterBackground.png 96 0 0
Maps\paths 32 0 0
Maps\spring_town 16 0 0
Maps\spring_beach 13 0 0
assets\Icon.png 13 0 0
Maps\spring_outdoorsTileSheet 12 0 17
Maps\townInterior 11 (+1) 0 34 (+4)
Maps\spring_outdoorsTileSheet2 10 0 0
Maps\Mines\mine 8 0 0
Maps\fall_outdoorsTileSheet 6 (+2) 0 5
Maps\fall_town 6 (+2) 0 4
Maps\summer_outdoorsTileSheet 6 0 2
assets\jelly.png 6 0 0
sproomsts.png 6 0 0
assets\CharacterFiles\OverworldSprites\Gunther\Gunther.png 5 0 70 (+12)
Characters\Jodi 5 (-1) 0 (-1) 50 (+11)
Characters\Penny 5 (-1) 0 (-1) 50 (+11)
Characters\Elliott 5 (-1) 0 (-1) 50 (+11)
Characters\Robin 5 (-1) 0 (-1) 50 (+11)
Characters\Marnie 5 (-1) 0 (-1) 50 (+11)
Characters\George 5 0 (-1) 37 (+10)
Characters\Abigail 5 0 (-1) 31 (+10)
Maps\fall_beach 5 (+2) 0 2
Maps\spring_monsterGraveTiles 5 0 0
Maps\RidgesideVillage 5 (+1) 0 0
assets\honey.png 5 0 0
assets\juice.png 5 0 0
assets\pickles.png 5 0 0
assets\wine.png 5 0 0
Characters\Evelyn 4 (-1) 0 (-1) 53 (+11)
Characters\Vincent 4 (-1) 0 (-1) 53 (+11)
Characters\Gus 4 (-1) 0 (-1) 53 (+11)
Characters\Willy 4 (-1) 0 (-1) 52 (+12)
Characters\Alex 4 (-1) 0 (-1) 51 (+11)
Characters\Emily 4 (-1) 0 (-1) 51 (+11)
Characters\Haley 4 (-1) 0 (-1) 51 (+11)
Characters\Clint 4 (-1) 0 (-1) 51 (+11)
Characters\Caroline 4 (-1) 0 (-1) 51 (+11)
Characters\Pam 4 (-1) 0 (-1) 51 (+11)
Characters\Shane 4 (-1) 0 (-1) 51 (+11)
Characters\Leah 4 (-1) 0 (-1) 51 (+11)
Characters\Maru 4 (-1) 0 (-1) 46 (+6)
Characters\Demetrius 4 0 46 (+6)
Characters\Lewis 4 0 (-1) 38 (+10)
Characters\Linus 4 0 (-1) 38 (+10)
Characters\Gunther 4 0 33 (+6)
Characters\Sam 4 (-1) 0 (-1) 32 (+11)
Characters\Harvey 4 (-1) 0 (-1) 32 (+11)
Characters\Sebastian 4 (-1) 0 (-1) 32 (+11)
Characters\Jas 4 (-1) 0 (-1) 27 (+6)
Maps\springobjects 4 0 8
Characters\Pierre 4 (-1) 0 7 (+5)
Maps\DesertTiles 4 0 6
Maps\walls_and_floors 4 0 5
Maps\Festivals 4 (+1) 0 4
Maps\spring_daisyextras 4 0 4
assets\sfr\spring_daisyextras.png 4 0 4
Maps\Forest 4 0 3
assets\Maps\Locations\Forest.tbin 4 0 3
assets\walls_and_floors.png 4 0 3
LooseSprites\Cursors 4 0 2
Maps\summer_town 4 0 1
Characters\Ayeisha 4 0 (-1) 1 (+1)
assets\images\sprites\spritesheet-shorts.png 4 0 (-1) 1 (+1)
Maps\winter_beach 4 0 0
Maps\summer_beach 4 0 0
Maps\JojaEmporium 4 0 0
DenverSpouseRoom.tmx 4 0 0
assets\SpouseRooms\VictorsRoom.tmx 4 0 0
assets\SpouseRooms\OliviasRoom.tmx 4 0 0
assets\SpouseRooms\SophiasRoom.tmx 4 0 0
assets\SpouseRooms\ClairesRoom.tmx 4 0 0
assets\RoomAlissa.tmx 4 0 0
assets\RoomCorine.tmx 4 0 0
assets\RoomFlor.tmx 4 0 0
assets\RoomMaddie.tmx 4 0 0
assets\RoomYsabelle.tmx 4 0 0
assets\RoomIan.tmx 4 0 0
assets\RoomJeric.tmx 4 0 0
assets\RoomKenneth.tmx 4 0 0
assets\RoomPhilip.tmx 4 0 0
assets\RoomShiro.tmx 4 0 0
assets\SpouseRoomLunna.tmx 4 0 0
assets\SpouseRoomBianka.tmx 4 0 0
assets\SpouseRoomRaphael.tmx 4 0 0
LyellsRoom.tmx 4 0 0
assets\GregoryRoom.tmx 4 0 0
assets\SheilaSpouseRoom.tmx 4 0 0
townInterior.png 4 0 0
MikeSpouseRoom.tmx 4 0 0
MonaSpouseRoom.tmx 4 0 0
PaulSpouseRoom.tmx 4 0 0
RoomAlissa.tmx 4 0 0
RoomCorine.tmx 4 0 0
RoomFlor.tmx 4 0 0
RoomMaddie.tmx 4 0 0
RoomYsabelle.tmx 4 0 0
RoomIan.tmx 4 0 0
RoomJeric.tmx 4 0 0
RoomKenneth.tmx 4 0 0
RoomPhilip.tmx 4 0 0
RoomShiro.tmx 4 0 0
ShikoSpouseRoom.tmx 4 0 0
SorrenSpouseRoom.tmx 4 0 0
Characters\ParrotBoy 3 (-1) 1 51 (+10)
Portraits\Willy 3 0 (-1) 53 (+11)
Portraits\Evelyn 3 0 (-1) 52 (+10)
Portraits\Vincent 3 0 (-1) 52 (+10)
Portraits\Gus 3 0 (-1) 52 (+10)
Portraits\ParrotBoy 3 0 (-1) 52 (+10)
Characters\Kent 3 (-1) 0 (-1) 52 (+11)
Portraits\Alex 3 0 (-1) 50 (+10)
Portraits\Emily 3 0 (-1) 50 (+10)
Portraits\Haley 3 0 (-1) 50 (+10)
Portraits\Jodi 3 0 (-1) 50 (+10)
Portraits\Clint 3 0 (-1) 50 (+10)
Portraits\Caroline 3 0 (-1) 50 (+10)
Portraits\Pam 3 0 (-1) 50 (+10)
Portraits\Penny 3 0 (-1) 50 (+10)
Portraits\Elliott 3 0 (-1) 50 (+10)
Portraits\Maru 3 0 (-1) 50 (+10)
Portraits\Robin 3 0 (-1) 50 (+10)
Portraits\Marnie 3 0 (-1) 50 (+10)
Portraits\Shane 3 0 (-1) 50 (+10)
Portraits\Leah 3 0 (-1) 50 (+10)
Characters\Lunna 3 (-1) 0 (-1) 50 (+11)
Characters\Bianka 3 (-1) 0 (-1) 50 (+11)
Characters\Raphael 3 (-1) 0 (-1) 50 (+11)
assets\CharacterFiles\Lunna\Lunna_sprite.png 3 (-1) 0 (-1) 50 (+11)
assets\CharacterFiles\Bianka\Bianka_sprite.png 3 (-1) 0 (-1) 50 (+11)
assets\CharacterFiles\Raphael\Raphael_sprite.png 3 (-1) 0 (-1) 50 (+11)
Portraits\Demetrius 3 0 48 (+6)
Portraits\Linus 3 0 (-1) 40 (+10)
Portraits\George 3 0 (-1) 38 (+10)
Portraits\Lewis 3 0 (-1) 38 (+10)
Portraits\Pierre 3 (-1) 0 38 (+10)
Portraits\Sam 3 0 (-1) 32 (+10)
Portraits\Abigail 3 0 (-1) 32 (+10)
Portraits\Harvey 3 0 (-1) 32 (+10)
Portraits\Sebastian 3 0 (-1) 32 (+10)
Portraits\Jas 3 0 (-1) 27 (+5)
assets\CharacterFiles\Portraits\Gunther\Gunther.png 3 0 14
Characters\Birdie 3 0 8
Characters\Lyell 3 0 (-1) 6 (+5)
assets\Tilesheets\spring_z_extras.png 3 0 6
assets\Image\Sprites\Stylized\Lyell_Spring_Sun.png 3 0 (-1) 6 (+5)
Maps\island_tilesheet_1 3 0 4
assets\Tilesheets\Festivals.png 3 (+1) 0 4
Maps\spring_z_extras 3 0 2
Maps\townInterior_2 3 0 2
Maps\z_SVEbuildingShadow 3 0 2
LooseSprites\parrots 3 0 2
Characters\Beatrice 3 (+2) 0 2 (+2)
assets\Tilesheets\z_SVEbuildingShadow.png 3 0 2
assets\sprites\Beatrice_Fall.png 3 (+2) 0 2 (+2)
Maps\spring_EastScarpe 3 0 1
Maps\VanillaWallsAndFloors 3 0 1
Maps\VanillaFurniture 3 0 1
Maps\VanillaCraftables 3 0 1
Maps\VanillaSpringObjects 3 0 1
Maps\fall_z_extras 3 0 1
Maps\SewerTiles 3 0 1
assets\Tilesheets\VanillaWallsAndFloors.png 3 0 1
assets\Tilesheets\VanillaFurniture.png 3 0 1
assets\Tilesheets\VanillaCraftables.png 3 0 1
assets\Tilesheets\VanillaSpringObjects.png 3 0 1
assets\Tilesheets\fall_z_extras.png 3 0 1
assets\TileSheets\NewEastScarpe\spring_EastScarpe.png 3 0 1
Maps\spring_island_tilesheet_1 3 0 0
Maps\Mines\mine_desert 3 0 0
Maps\characterSheet 3 (+1) 0 0
Maps\Mines\mine_frost 3 0 0
Maps\Mines\mine_lava 3 0 0
Characters\Eloise 3 0 0
Maps\VetHouse 3 0 0
Maps\RSVCliff 3 (+1) 0 0
Maps\RSVTheRide 3 (+1) 0 0
Maps\Winery 3 0 0
assets\sproomsts.png 3 0 0
assets\Characters\Eloise\Eloise_spring_2.png 3 0 0
KhadijaBG.png 3 0 0
Characters\Farmer\farmer_girl_base 3 0 0
Characters\Farmer\skinColors 3 0 0
assets\furniture.png 2 0 137
Portraits\Kent 2 0 (-1) 51 (+10)
Portraits\Lunna 2 0 (-1) 49 (+10)
Portraits\Bianka 2 0 (-1) 49 (+10)
Portraits\Raphael 2 0 (-1) 49 (+10)
assets\CharacterFiles\Lunna\Lunna.png 2 0 (-1) 49 (+10)
assets\CharacterFiles\Bianka\Bianka.png 2 0 (-1) 49 (+10)
assets\CharacterFiles\Raphael\Raphael.png 2 0 (-1) 49 (+10)
Portraits\Birdie 2 0 11
Portraits\Lyell 2 0 (-1) 7 (+5)
assets\Image\Portraits\Vanilla\Lyell_Spring_Sun.png 2 0 (-1) 7 (+5)
Portraits\Gunther 2 0 6
Characters\Denver 2 0 6
Portraits\Denver 2 0 6
assets\DenverSprites_Spring.png 2 0 6
assets\portraits_Spring.png 2 0 6
Characters\Farmer\shirts 2 0 5
Characters\Farmer\pants 2 0 5
Characters\Farmer\hats 2 0 5
assets\Rose-portrait.png 2 0 4
Maps\coopTiles 2 0 3
Maps\cave_daisyextras 2 0 3
Portraits\Beatrice 2 (+1) 0 3 (+3)
assets\cave_daisyextras.png 2 0 3
assets\portraits\Beatrice_Fall.png 2 (+1) 0 3 (+3)
Maps\z_ForestWest_Mist 2 0 2
Maps\DesertTiles_Extended 2 0 2
Maps\z_WizardBasementLights 2 0 2
Maps\AquariumEmpty7 2 0 2
Maps\AquariumEmpty44 2 0 2
Maps\fall_daisyextras 2 0 2
Maps\summer_daisyextras 2 0 2
assets\Maps\MapPatches\CommunityCenter_Refurbished.tbin 2 0 2
assets\Tilesheets\z_ForestWest_Mist.png 2 0 2
assets\Tilesheets\z_WizardBasementLights.PNG 2 0 2
assets\sfr\fall_daisyextras.png 2 0 2
assets\sfr\summer_daisyextras.png 2 0 2
assets\Aquariums\Forest\AquariumEmpty7.png 2 0 2
assets\Aquariums\MNF\Shinidamachu\AquariumEmpty44.png 2 0 2
assets\signs.png 2 0 2
Maps\spring_lighthouse 2 0 1
Maps\fall_EastScarpe 2 0 1
Maps\ForestWest_Shadow 2 0 1
Maps\z_FireLight 2 0 1
Maps\spring_z_wtd_tilesheet 2 0 1
Maps\bathhouse_tiles 2 0 1
Maps\Lyell_Craftables 2 0 1
Maps\spring_crops 2 0 1
Maps\spring_lyellhouse 2 0 1
Maps\AquariumEmpty18 2 0 1
Maps\AquariumEmpty20 2 0 1
Maps\fall_outdoorsTileSheet2 2 0 1
Portraits\Sophia 2 0 1
Portraits\Eloise 2 (-1) 0 1 (+1)
Characters\Hekate 2 0 1
Portraits\Hekate 2 0 1
Characters\Sam_Beach 2 (+1) 0 1
Maps\Railroad 2 0 1
Maps\Island_W 2 0 1
assets\Maps\Locations\Railroad.tbin 2 0 1
assets\Maps\Locations\Town.tbin 2 0 1
assets\Tilesheets\ForestWest_Shadow.png 2 0 1
assets\Tilesheets\z_FireLight.png 2 0 1
assets\CharacterFiles\Portraits\Sophia\Sophia.png 2 0 1
assets\TileSheets\NewEastScarpe\spring_lighthouse.png 2 0 1
assets\TileSheets\NewEastScarpe\fall_EastScarpe.png 2 0 1
assets\Portraits\Eloise\Eloise_spring_2.png 2 (-1) 0 1 (+1)
assets\tractor.png 2 0 1
assets\spritesheets\HekateSS.png 2 0 1
assets\portraits\HekateP.png 2 0 1
assets\Maps\Tilesheets\Lyell_Craftables.png 2 0 1
assets\Maps\Tilesheets\spring_crops.png 2 0 1
assets\Maps\Tilesheets\spring_lyellhouse.png 2 0 1
assets\Aquariums\Slimejack\AquariumEmpty18.png 2 0 1
assets\Aquariums\VoidSalmon\AquariumEmpty20.png 2 0 1
assets\recolors\sfr-o\spring_z_wtd_tilesheet.png 2 0 1
Maps\bugLandTiles 2 0 0
Maps\witchSwampTiles 2 0 0
Maps\summer_outdoorsTileSheet2 2 0 0
Maps\winter_outdoorsTileSheet2 2 0 0
Maps\farmhouse_tiles 2 0 0
Maps\spring_z_mailboxes 2 0 0
Maps\zGrandpasFarm_CanopyShadow 2 0 0
Maps\zGrandpasFarm_UnderCanopyShadow 2 0 0
Maps\z_WizardTowerLights 2 0 0
Maps\WitchHutTiles 2 0 0
Maps\Mines\mine_dark 2 0 0
Maps\night_market_tilesheet_objects 2 0 0
Maps\summer_z_mailboxes 2 0 0
Maps\Mines\volcano_dungeon 2 0 0
Maps\Mines\volcano_caldera 2 0 0
Maps\z_CalderaLights 2 0 0
Maps\AquariumEmpty27 2 0 0
Maps\AquariumEmpty24 2 0 0
Maps\AquariumEmpty25 2 0 0
Maps\AquariumEmpty26 2 0 0
Maps\z_Leaves 2 0 0
Maps\fall_z_mailboxes 2 (+1) 0 0
Maps\nightSceneMaru 2 0 0
Maps\spring_sgf_v2 2 0 0
Maps\z_enhancedtiles_unicornedit 2 0 0
Maps\z_floor 2 0 0
Maps\z_outside_indoors 2 0 0
Maps\z_window 2 0 0
Maps\ZuzuCity 2 (+2) 0 0
Maps\EastScarpe 2 0 0
Maps\BlueMoonVineyard 2 0 0
Maps\TownEast 2 0 0
Maps\ShearwaterBridge 2 0 0
Maps\ForestWest 2 0 0
Maps\LostWoods 2 0 0
Maps\GrandpasShed 2 0 0
Maps\GrandpasShedRuins 2 0 0
Maps\GrandpasShedOutside 2 0 0
Maps\RSVCableCar 2 0 0
assets\images\tilesheets\wayback-foliageredone\spring_z_mailboxes.png 2 0 0
assets\images\tilesheets\wayback-foliageredone\summer_z_mailboxes.png 2 0 0
assets\images\tilesheets\wayback-foliageredone\fall_z_mailboxes.png 2 (+1) 0 0
assets\meat shop tile.png 2 0 0
Objects\Black Tea\object.png 2 0 0
Objects\Oolong Tea\object.png 2 0 0
Objects\White Tea\object.png 2 0 0
Objects\Horse Hair\object.png 2 0 0
assets\paths.png 2 0 0
assets\lemurfurniture.png 2 0 0
assets\MapPatches\AndyHouseClean.tbin 2 0 0
assets\MapPatches\AndyFarmHealthy.tbin 2 0 0
assets\MapPatches\CrimsonBadlandsUnlocked.tbin 2 0 0
assets\MapPatches\ShrineOfIllusions.tbin 2 0 0
assets\Tilesheets\zGrandpasFarm_CanopyShadow.png 2 0 0
assets\Tilesheets\zGrandpasFarm_UnderCanopyShadow.png 2 0 0
assets\Tilesheets\z_WizardTowerLights.png 2 0 0
assets\Tilesheets\z_CalderaLights.png 2 0 0
assets\Tilesheets\z_Leaves.png 2 0 0
assets\Tilesheets\ZuzuCity.png 2 (+2) 0 0
assets\Image\Sprite.png 2 0 0
assets\Tilesheets\fall_sgf_v2.png 2 0 0
assets\zcompactbathroom_tiles.png 2 0 0
assets\LunnaLakeOpen.tbin 2 0 0
assets\FallsCaveOpen.tbin 2 0 0
assets\LunnaWestForestOpen.tbin 2 0 0
assets\base\z_enhancedtiles_unicornedit.png 2 0 0
assets\base\z_outside_indoors.png 2 0 0
assets\base\z_floor.png 2 0 0
assets\base\z_window.png 2 0 0
assets\Aquariums\MNF\Mines\AquariumEmpty27.png 2 0 0
assets\Maps\CustomTS\custom.png 2 0 0
assets\Maps\CustomTS\lunna_sparkle.png 2 0 0
assets\Maps\CustomTS\Museumbeach.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Clownfish\AquariumEmpty24.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Angelfish\AquariumEmpty25.png 2 0 0
assets\Aquariums\MNF\MermaidIsland\Mixed\AquariumEmpty26.png 2 0 0
With that being stated, then the memory impact Custom Music makes may not be significant yet. However, I will still be investigating into this once I finish previous tasks, as the memory load from audio can quickly become a significant issue. This issue will increase in severity if more modders choose to use/add audio assets.
TL;DR: Managing memory for audio assets is not as severe yet, can be lowered in the list of priorities.
I don't think we can easily reduce memory usage by SMAPI and Content Patcher much further, at least without riskier optimizations that can cause crashes. Optimizations in framework mods like Custom Music or TMXL are probably possible, but that's out of scope for this ticket.
This will be addressed more systematically by #767.