diff --git a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm index 913f733320..6a9e4437f4 100644 --- a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm +++ b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm @@ -99,7 +99,8 @@ void DebugAllocatorStats::Decrement(size_t size) { } size_t DebugAllocatorStats::GetAllocationSizeMB() { - size_t new_value = size_ / 1000000; + // RAM is measured in MiB, thus a divisor of 2^20 instead of 1,000,000. + size_t new_value = size_ / (1024 * 1024); return new_value; } diff --git a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm index 4150caf20c..ea1bac5421 100644 --- a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm +++ b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm @@ -36,7 +36,7 @@ TEST_P(AllocatorMTLTest, DebugTraceMemoryStatistics) { TextureDescriptor desc; desc.format = PixelFormat::kR8G8B8A8UNormInt; desc.storage_mode = StorageMode::kDeviceTransient; - desc.size = {1000, 1000}; + desc.size = {1024, 1024}; auto texture_1 = allocator->CreateTexture(desc); EXPECT_EQ(allocator->DebugGetHeapUsage(), 0u); diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc index 364b9aa49a..032f9d7e7d 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc @@ -519,7 +519,7 @@ size_t AllocatorVK::DebugGetHeapUsage() const { total_usage += budget.usage; } // Convert bytes to MB. - total_usage *= 1e-6; + total_usage /= (1024 * 1024); return total_usage; }