From edcce279d21227a959f210fefe740b928925f0d8 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 27 Oct 2016 12:39:47 +0200 Subject: [PATCH] Don't write debug text string all in one fwrite call --- renderdoc/serialise/serialiser.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/renderdoc/serialise/serialiser.cpp b/renderdoc/serialise/serialiser.cpp index d8ed5e026..51020335f 100644 --- a/renderdoc/serialise/serialiser.cpp +++ b/renderdoc/serialise/serialiser.cpp @@ -1328,7 +1328,19 @@ void Serialiser::FlushToDisk() } else { - FileIO::fwrite(m_DebugText.c_str(), 1, m_DebugText.length(), dbgFile); + const char *str = m_DebugText.c_str(); + size_t len = m_DebugText.length(); + const size_t chunkSize = 10 * 1024 * 1024; + while(len > 0) + { + size_t writeSize = RDCMIN(len, chunkSize); + size_t written = FileIO::fwrite(str, 1, writeSize, dbgFile); + + RDCASSERT(written == writeSize); + + str += writeSize; + len -= writeSize; + } FileIO::fclose(dbgFile); }