diff --git a/pcsx2/MemoryCardFolder.cpp b/pcsx2/MemoryCardFolder.cpp index 124194de1b..ba577be17a 100644 --- a/pcsx2/MemoryCardFolder.cpp +++ b/pcsx2/MemoryCardFolder.cpp @@ -89,6 +89,7 @@ static void SaveYAMLToFile(const char* filename, const ryml::NodeRef& node) } static constexpr time_t MEMORY_CARD_FILE_ENTRY_DATE_TIME_OFFSET = 60 * 60 * 9; // 9 hours from UTC +static auto last = std::chrono::time_point(); MemoryCardFileEntryDateTime MemoryCardFileEntryDateTime::FromTime(time_t time) { @@ -2353,9 +2354,16 @@ s32 FolderMemoryCardAggregator::Save(uint slot, const u8* src, u32 adr, int size const s32 saveResult = m_cards[slot].Save(src, adr, size); if (saveResult) { - const std::string_view filename = Path::GetFileName(m_cards[slot].GetFolderName()); - Host::AddIconOSDMessage(fmt::format("MemoryCardSave{}", slot), ICON_FA_SD_CARD, - fmt::format("Memory card '{}' was saved to storage.", filename), Host::OSD_INFO_DURATION); + std::chrono::duration elapsed = std::chrono::system_clock::now() - last; + if (elapsed > std::chrono::seconds(5)) + { + const std::string_view filename = Path::GetFileName(m_cards[slot].GetFolderName()); + Host::AddIconOSDMessage(fmt::format("MemoryCardSave{}", slot), ICON_FA_SD_CARD, + fmt::format("Memory card '{}' was saved to storage.", filename), Host::OSD_INFO_DURATION); + + last = std::chrono::system_clock::now(); + } + } return saveResult;