mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-11-12 23:32:42 -05:00
Allocation-safe asset reading
Try to not pre-allocate memory during asset reading
This commit is contained in:
@ -197,7 +197,7 @@ namespace AssetStudioGUI
|
||||
|
||||
#region Face
|
||||
int sum = 0;
|
||||
for (var i = 0; i < m_Mesh.m_SubMeshes.Length; i++)
|
||||
for (var i = 0; i < m_Mesh.m_SubMeshes.Count; i++)
|
||||
{
|
||||
sb.AppendLine($"g {m_Mesh.m_Name}_{i}");
|
||||
int indexCount = (int)m_Mesh.m_SubMeshes[i].indexCount;
|
||||
|
||||
@ -221,7 +221,7 @@ namespace AssetStudioGUI
|
||||
Progress.Reset();
|
||||
foreach (var assetsFile in assetsManager.assetsFileList)
|
||||
{
|
||||
var preloadTable = Array.Empty<PPtr<Object>>();
|
||||
var preloadTable = new List<PPtr<Object>>();
|
||||
|
||||
foreach (var asset in assetsFile.Objects)
|
||||
{
|
||||
@ -333,7 +333,7 @@ namespace AssetStudioGUI
|
||||
{
|
||||
var preloadIndex = m_Container.Value.preloadIndex;
|
||||
var preloadSize = isStreamedSceneAssetBundle
|
||||
? preloadTable.Length
|
||||
? preloadTable.Count
|
||||
: m_Container.Value.preloadSize;
|
||||
var preloadEnd = preloadIndex + preloadSize;
|
||||
for (var k = preloadIndex; k < preloadEnd; k++)
|
||||
|
||||
Reference in New Issue
Block a user