Add improved FormatBytesCount to print large sizes in more detailed way
Instead of printing `2 GB` output `2.43 GB` to be more explicit. Deprecate version with `int` in favor of a single `ulong`.
This commit is contained in:
@@ -388,7 +388,7 @@ namespace FlaxEditor.Content
|
|||||||
{
|
{
|
||||||
sb.Append("Type: ").Append(TypeDescription).AppendLine();
|
sb.Append("Type: ").Append(TypeDescription).AppendLine();
|
||||||
if (File.Exists(Path))
|
if (File.Exists(Path))
|
||||||
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
|
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((ulong)new FileInfo(Path).Length)).AppendLine();
|
||||||
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
|
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -146,19 +146,14 @@ namespace FlaxEditor.Utilities
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Formats the amount of bytes to get a human-readable data size in bytes with abbreviation. Eg. 32 kB
|
/// Formats the amount of bytes to get a human-readable data size in bytes with abbreviation. Eg. 32 kB
|
||||||
|
/// [Deprecated in v1.9]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="bytes">The bytes.</param>
|
/// <param name="bytes">The bytes.</param>
|
||||||
/// <returns>The formatted amount of bytes.</returns>
|
/// <returns>The formatted amount of bytes.</returns>
|
||||||
|
[Obsolete("Use FormatBytesCount with ulong instead")]
|
||||||
public static string FormatBytesCount(int bytes)
|
public static string FormatBytesCount(int bytes)
|
||||||
{
|
{
|
||||||
int order = 0;
|
return FormatBytesCount((ulong)bytes);
|
||||||
while (bytes >= 1024 && order < MemorySizePostfixes.Length - 1)
|
|
||||||
{
|
|
||||||
order++;
|
|
||||||
bytes /= 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
return string.Format("{0:0.##} {1}", bytes, MemorySizePostfixes[order]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -169,12 +164,15 @@ namespace FlaxEditor.Utilities
|
|||||||
public static string FormatBytesCount(ulong bytes)
|
public static string FormatBytesCount(ulong bytes)
|
||||||
{
|
{
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
ulong bytesPrev = bytes;
|
||||||
while (bytes >= 1024 && order < MemorySizePostfixes.Length - 1)
|
while (bytes >= 1024 && order < MemorySizePostfixes.Length - 1)
|
||||||
{
|
{
|
||||||
|
bytesPrev = bytes;
|
||||||
order++;
|
order++;
|
||||||
bytes /= 1024;
|
bytes /= 1024;
|
||||||
}
|
}
|
||||||
|
if (order >= 3) // GB or higher use up to 2 decimal places for more precision
|
||||||
|
return string.Format("{0:0.##} {1}", FlaxEngine.Utils.RoundTo2DecimalPlaces(bytesPrev / 1024.0f), MemorySizePostfixes[order]);
|
||||||
return string.Format("{0:0.##} {1}", bytes, MemorySizePostfixes[order]);
|
return string.Format("{0:0.##} {1}", bytes, MemorySizePostfixes[order]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ namespace FlaxEditor.Windows.Assets
|
|||||||
group.Label("Frames: " + info.FramesCount);
|
group.Label("Frames: " + info.FramesCount);
|
||||||
group.Label("Channels: " + info.ChannelsCount);
|
group.Label("Channels: " + info.ChannelsCount);
|
||||||
group.Label("Keyframes: " + info.KeyframesCount);
|
group.Label("Keyframes: " + info.KeyframesCount);
|
||||||
group.Label("Memory Usage: " + Utilities.Utils.FormatBytesCount(info.MemoryUsage));
|
group.Label("Memory Usage: " + Utilities.Utils.FormatBytesCount((ulong)info.MemoryUsage));
|
||||||
}
|
}
|
||||||
|
|
||||||
base.Initialize(layout);
|
base.Initialize(layout);
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
AnchorPreset = AnchorPresets.HorizontalStretchTop,
|
AnchorPreset = AnchorPresets.HorizontalStretchTop,
|
||||||
Offsets = Margin.Zero,
|
Offsets = Margin.Zero,
|
||||||
Height = SingleChart.DefaultHeight,
|
Height = SingleChart.DefaultHeight,
|
||||||
FormatSample = v => Utilities.Utils.FormatBytesCount((int)v),
|
FormatSample = v => Utilities.Utils.FormatBytesCount((ulong)v),
|
||||||
Parent = mainPanel,
|
Parent = mainPanel,
|
||||||
};
|
};
|
||||||
_memoryUsageChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
_memoryUsageChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
|
|
||||||
private string FormatCellBytes(object x)
|
private string FormatCellBytes(object x)
|
||||||
{
|
{
|
||||||
return Utilities.Utils.FormatBytesCount((int)x);
|
return Utilities.Utils.FormatBytesCount((ulong)x);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
|||||||
@@ -36,14 +36,14 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
_nativeAllocationsChart = new SingleChart
|
_nativeAllocationsChart = new SingleChart
|
||||||
{
|
{
|
||||||
Title = "Native Memory Allocation",
|
Title = "Native Memory Allocation",
|
||||||
FormatSample = v => Utilities.Utils.FormatBytesCount((int)v),
|
FormatSample = v => Utilities.Utils.FormatBytesCount((ulong)v),
|
||||||
Parent = layout,
|
Parent = layout,
|
||||||
};
|
};
|
||||||
_nativeAllocationsChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
_nativeAllocationsChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
||||||
_managedAllocationsChart = new SingleChart
|
_managedAllocationsChart = new SingleChart
|
||||||
{
|
{
|
||||||
Title = "Managed Memory Allocation",
|
Title = "Managed Memory Allocation",
|
||||||
FormatSample = v => Utilities.Utils.FormatBytesCount((int)v),
|
FormatSample = v => Utilities.Utils.FormatBytesCount((ulong)v),
|
||||||
Parent = layout,
|
Parent = layout,
|
||||||
};
|
};
|
||||||
_managedAllocationsChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
_managedAllocationsChart.SelectedSampleChanged += OnSelectedSampleChanged;
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
|
|
||||||
private static string FormatCellBytes(object x)
|
private static string FormatCellBytes(object x)
|
||||||
{
|
{
|
||||||
return Utilities.Utils.FormatBytesCount((int)x);
|
return Utilities.Utils.FormatBytesCount((ulong)x);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int SortRows(Control x, Control y)
|
private static int SortRows(Control x, Control y)
|
||||||
|
|||||||
Reference in New Issue
Block a user