mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 01:20:42 +00:00
Don't try to access file on local disk in statistics. Refs #400
This commit is contained in:
@@ -293,7 +293,8 @@ struct FetchFrameInfo
|
||||
: frameNumber(0),
|
||||
firstEvent(0),
|
||||
fileOffset(0),
|
||||
fileSize(0),
|
||||
uncompressedFileSize(0),
|
||||
compressedFileSize(0),
|
||||
persistentSize(0),
|
||||
initDataSize(0),
|
||||
captureTime(0)
|
||||
@@ -303,7 +304,8 @@ struct FetchFrameInfo
|
||||
uint32_t frameNumber;
|
||||
uint32_t firstEvent;
|
||||
uint64_t fileOffset;
|
||||
uint64_t fileSize;
|
||||
uint64_t uncompressedFileSize;
|
||||
uint64_t compressedFileSize;
|
||||
uint64_t persistentSize;
|
||||
uint64_t initDataSize;
|
||||
uint64_t captureTime;
|
||||
|
||||
@@ -566,7 +566,7 @@ void ImageViewer::RefreshFile()
|
||||
|
||||
m_FrameRecord.frameInfo.initDataSize = 0;
|
||||
m_FrameRecord.frameInfo.persistentSize = 0;
|
||||
m_FrameRecord.frameInfo.fileSize = datasize;
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = datasize;
|
||||
|
||||
dds_data read_data = {0};
|
||||
|
||||
@@ -594,11 +594,13 @@ void ImageViewer::RefreshFile()
|
||||
if(texDetails.depth > 1)
|
||||
texDetails.dimension = 3;
|
||||
|
||||
m_FrameRecord.frameInfo.fileSize = 0;
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = 0;
|
||||
for(uint32_t i = 0; i < texDetails.arraysize * texDetails.mips; i++)
|
||||
m_FrameRecord.frameInfo.fileSize += read_data.subsizes[i];
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize += read_data.subsizes[i];
|
||||
}
|
||||
|
||||
m_FrameRecord.frameInfo.compressedFileSize = m_FrameRecord.frameInfo.uncompressedFileSize;
|
||||
|
||||
// recreate proxy texture if necessary.
|
||||
// we rewrite the texture IDs so that the
|
||||
// outside world doesn't need to know about this
|
||||
|
||||
@@ -1331,14 +1331,15 @@ void Serialiser::Serialise(const char *name, FetchFrameInfo &el)
|
||||
Serialise("", el.frameNumber);
|
||||
Serialise("", el.firstEvent);
|
||||
Serialise("", el.fileOffset);
|
||||
Serialise("", el.fileSize);
|
||||
Serialise("", el.uncompressedFileSize);
|
||||
Serialise("", el.compressedFileSize);
|
||||
Serialise("", el.persistentSize);
|
||||
Serialise("", el.initDataSize);
|
||||
Serialise("", el.captureTime);
|
||||
Serialise("", el.stats);
|
||||
Serialise("", el.debugMessages);
|
||||
|
||||
SIZE_CHECK(FetchFrameInfo, 1200);
|
||||
SIZE_CHECK(FetchFrameInfo, 1208);
|
||||
}
|
||||
|
||||
template <>
|
||||
|
||||
@@ -1151,7 +1151,8 @@ void WrappedID3D11Device::ReadLogInitialisation()
|
||||
}
|
||||
#endif
|
||||
|
||||
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
|
||||
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
|
||||
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(D3D11ChunkType)INITIAL_CONTENTS].totalsize;
|
||||
|
||||
|
||||
@@ -2049,7 +2049,8 @@ void WrappedID3D12Device::ReadLogInitialisation()
|
||||
}
|
||||
#endif
|
||||
|
||||
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
|
||||
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
|
||||
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(D3D12ChunkType)INITIAL_CONTENTS].totalsize;
|
||||
|
||||
|
||||
@@ -3101,7 +3101,8 @@ void WrappedOpenGL::ReadLogInitialisation()
|
||||
}
|
||||
#endif
|
||||
|
||||
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
|
||||
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
|
||||
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(GLChunkType)INITIAL_CONTENTS].totalsize;
|
||||
|
||||
|
||||
@@ -1504,7 +1504,8 @@ void WrappedVulkan::ReadLogInitialisation()
|
||||
}
|
||||
#endif
|
||||
|
||||
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
|
||||
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
|
||||
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - firstFrame;
|
||||
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(VulkanChunkType)INITIAL_CONTENTS].totalsize;
|
||||
|
||||
|
||||
@@ -453,6 +453,8 @@ Serialiser::Serialiser(size_t length, const byte *memoryBuf, bool fileheader)
|
||||
m_Mode = READING;
|
||||
m_DebugEnabled = false;
|
||||
|
||||
m_FileSize = 0;
|
||||
|
||||
if(!fileheader)
|
||||
{
|
||||
m_BufferSize = length;
|
||||
@@ -644,6 +646,8 @@ Serialiser::Serialiser(const char *path, Mode mode, bool debugMode)
|
||||
m_Mode = mode;
|
||||
m_DebugEnabled = debugMode;
|
||||
|
||||
m_FileSize = 0;
|
||||
|
||||
FileHeader header;
|
||||
|
||||
if(mode == READING)
|
||||
@@ -658,6 +662,12 @@ Serialiser::Serialiser(const char *path, Mode mode, bool debugMode)
|
||||
return;
|
||||
}
|
||||
|
||||
FileIO::fseek64(m_ReadFileHandle, 0, SEEK_END);
|
||||
|
||||
m_FileSize = FileIO::ftell64(m_ReadFileHandle);
|
||||
|
||||
FileIO::fseek64(m_ReadFileHandle, 0, SEEK_SET);
|
||||
|
||||
RDCDEBUG("Opened capture file for read");
|
||||
|
||||
FileIO::fread(&header, 1, sizeof(FileHeader), m_ReadFileHandle);
|
||||
|
||||
@@ -233,6 +233,14 @@ public:
|
||||
return m_BufferHead - m_Buffer;
|
||||
}
|
||||
|
||||
uint64_t GetFileSize()
|
||||
{
|
||||
if(m_Mode == READING)
|
||||
return m_FileSize;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
byte *GetRawPtr(size_t offs) const { return m_Buffer + offs; }
|
||||
// Set up the base pointer and size. Serialiser will allocate enough for
|
||||
// the rest of the file and keep it all in memory (useful to keep everything
|
||||
@@ -680,6 +688,8 @@ private:
|
||||
// m_ReadOffset into the frame capture section
|
||||
uint64_t m_ReadOffset;
|
||||
|
||||
uint64_t m_FileSize;
|
||||
|
||||
// how big is the current in-memory window
|
||||
size_t m_CurrentBufferSize;
|
||||
|
||||
|
||||
@@ -497,7 +497,8 @@ namespace renderdoc
|
||||
public UInt32 frameNumber;
|
||||
public UInt32 firstEvent;
|
||||
public UInt64 fileOffset;
|
||||
public UInt64 fileSize;
|
||||
public UInt64 uncompressedFileSize;
|
||||
public UInt64 compressedFileSize;
|
||||
public UInt64 persistentSize;
|
||||
public UInt64 initDataSize;
|
||||
public UInt64 captureTime;
|
||||
|
||||
@@ -664,8 +664,6 @@ namespace renderdocui.Windows
|
||||
{
|
||||
statisticsLog.Clear();
|
||||
|
||||
long fileSize = (new FileInfo(m_Core.LogFileName)).Length;
|
||||
|
||||
var lastDraw = m_Core.CurDrawcalls[m_Core.CurDrawcalls.Length - 1];
|
||||
while (lastDraw.children != null && lastDraw.children.Length > 0)
|
||||
lastDraw = lastDraw.children[lastDraw.children.Length - 1];
|
||||
@@ -739,8 +737,8 @@ namespace renderdocui.Windows
|
||||
|
||||
UInt64 persistentData = frameInfo.persistentSize;
|
||||
|
||||
float compressedMB = (float)fileSize / (1024.0f * 1024.0f);
|
||||
float uncompressedMB = (float)frameInfo.fileSize / (1024.0f * 1024.0f);
|
||||
float compressedMB = (float)frameInfo.compressedFileSize / (1024.0f * 1024.0f);
|
||||
float uncompressedMB = (float)frameInfo.uncompressedFileSize / (1024.0f * 1024.0f);
|
||||
float compressRatio = uncompressedMB / compressedMB;
|
||||
float persistentMB = (float)frameInfo.persistentSize / (1024.0f * 1024.0f);
|
||||
float initDataMB = (float)frameInfo.initDataSize / (1024.0f * 1024.0f);
|
||||
|
||||
Reference in New Issue
Block a user