From 8f5728afe4a4ab819923bfaea3c3c9f23a2deff2 Mon Sep 17 00:00:00 2001 From: ww-rm Date: Fri, 21 Mar 2025 14:45:45 +0800 Subject: [PATCH] fix bug --- SpineViewer/Controls/SpineListView.cs | 1 - SpineViewer/Spine/Spine.cs | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SpineViewer/Controls/SpineListView.cs b/SpineViewer/Controls/SpineListView.cs index cdaef7c..ec05a75 100644 --- a/SpineViewer/Controls/SpineListView.cs +++ b/SpineViewer/Controls/SpineListView.cs @@ -508,7 +508,6 @@ namespace SpineViewer.Controls } else if (Directory.Exists(path)) { - // 遍历该目录下所有深度文件,判断是否符合要求并ADD foreach (var file in Directory.EnumerateFiles(path, "*.*", SearchOption.AllDirectories)) { if (Spine.Spine.CommonSkelSuffix.Contains(Path.GetExtension(file).ToLower())) diff --git a/SpineViewer/Spine/Spine.cs b/SpineViewer/Spine/Spine.cs index 0e1b352..34c0183 100644 --- a/SpineViewer/Spine/Spine.cs +++ b/SpineViewer/Spine/Spine.cs @@ -370,7 +370,9 @@ namespace SpineViewer.Spine viewX *= scale; viewY *= scale; - using var tex = new SFML.Graphics.RenderTexture(width, height); + // XXX: 貌似无法使用 using 或者 Dispose 主动释放 tex 资源 + // 在批量添加的中途, 如果触发 GC? 会卡死, 目前未知原因 + var tex = new SFML.Graphics.RenderTexture(width, height); var view = tex.GetView(); view.Center = new(bounds.X + viewX / 2, bounds.Y + viewY / 2); view.Size = new(viewX, -viewY);