2
0
Эх сурвалжийг харах

Updated avalonia version and some preview painter caching

flabbet 6 сар өмнө
parent
commit
0a1641af8e

+ 1 - 1
src/Directory.Build.props

@@ -1,7 +1,7 @@
 <Project>
     <PropertyGroup>
         <CodeAnalysisRuleSet>../Custom.ruleset</CodeAnalysisRuleSet>
-		    <AvaloniaVersion>11.2.2</AvaloniaVersion>
+		    <AvaloniaVersion>11.2.3</AvaloniaVersion>
     </PropertyGroup>
     <ItemGroup>
         <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />

+ 1 - 1
src/Drawie

@@ -1 +1 @@
-Subproject commit 63c826db08b9ea57cf6ae29718d94fd77951c73a
+Subproject commit 94655abbd38090a174750b61a51a2e74c056bfe6

+ 1 - 1
src/PixiDocks

@@ -1 +1 @@
-Subproject commit 9190dfc8d59f5eaae40a80e34e75a1d5667dec83
+Subproject commit 0d356fcd1f07aa2b1c274284a3f81d302c593db6

+ 0 - 31
src/PixiEditor.sln

@@ -124,8 +124,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi", "Drawie\
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.Vulkan", "Drawie\src\Drawie.RenderApi.Vulkan\Drawie.RenderApi.Vulkan.csproj", "{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirvCompiler", "Drawie\src\SpirvCompiler\SpirvCompiler.csproj", "{475C7BBF-B10B-456A-A095-4395E49CF4B2}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia", "Drawie\src\Drawie.Interop.Avalonia\Drawie.Interop.Avalonia.csproj", "{6D79C3E3-E31F-43B4-B173-3E6959230923}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.OpenGl", "Drawie\src\Drawie.Interop.Avalonia.OpenGl\Drawie.Interop.Avalonia.OpenGl.csproj", "{843F55B4-987B-45A9-BDBD-1A0A86CB883E}"
@@ -1075,34 +1073,6 @@ Global
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2}.Steam|x64.Build.0 = Debug|Any CPU
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2}.Steam|ARM64.ActiveCfg = Debug|Any CPU
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2}.Steam|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Debug|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Debug|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Debug|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevRelease|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.DevSteam|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.MSIX|ARM64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Release|x64.ActiveCfg = Release|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Release|x64.Build.0 = Release|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Release|ARM64.ActiveCfg = Release|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Release|ARM64.Build.0 = Release|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|x64.Build.0 = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.ActiveCfg = Debug|Any CPU
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.Build.0 = Debug|Any CPU
 		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|x64.Build.0 = Debug|Any CPU
 		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|ARM64.ActiveCfg = Debug|Any CPU
@@ -1327,7 +1297,6 @@ Global
 		{467EDEB3-6004-46B8-8448-2F5C4F131D75} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{21152CEE-F9D7-452F-9FF5-B15FF80F2CED} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
-		{475C7BBF-B10B-456A-A095-4395E49CF4B2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{6D79C3E3-E31F-43B4-B173-3E6959230923} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
 		{843F55B4-987B-45A9-BDBD-1A0A86CB883E} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}

+ 45 - 14
src/PixiEditor/Models/Rendering/MemberPreviewUpdater.cs

@@ -151,9 +151,19 @@ internal class MemberPreviewUpdater
         if (internals.Tracker.Document.AnimationData.TryFindKeyFrame(cel.Id, out KeyFrame _))
         {
             KeyFrameTime frameTime = doc.AnimationHandler.ActiveFrameTime;
-            cel.PreviewPainter = new PreviewPainter(doc.Renderer, AnimationKeyFramePreviewRenderer, frameTime,
-                doc.SizeBindable,
-                internals.Tracker.Document.ProcessingColorSpace, cel.Id.ToString());
+            if (cel.PreviewPainter == null)
+            {
+                cel.PreviewPainter = new PreviewPainter(doc.Renderer, AnimationKeyFramePreviewRenderer, frameTime,
+                    doc.SizeBindable,
+                    internals.Tracker.Document.ProcessingColorSpace, cel.Id.ToString());
+            }
+            else
+            {
+                cel.PreviewPainter.FrameTime = frameTime;
+                cel.PreviewPainter.DocumentSize = doc.SizeBindable;
+                cel.PreviewPainter.ProcessingColorSpace = internals.Tracker.Document.ProcessingColorSpace;
+            }
+
             cel.PreviewPainter.Repaint();
         }
     }
@@ -167,10 +177,20 @@ internal class MemberPreviewUpdater
             ColorSpace processingColorSpace = internals.Tracker.Document.ProcessingColorSpace;
             VecI documentSize = doc.SizeBindable;
 
-            groupHandler.PreviewPainter =
-                new PreviewPainter(doc.Renderer, AnimationKeyFramePreviewRenderer, frameTime, documentSize,
-                    processingColorSpace,
-                    groupHandler.Id.ToString());
+            if (groupHandler.PreviewPainter == null)
+            {
+                groupHandler.PreviewPainter =
+                    new PreviewPainter(doc.Renderer, AnimationKeyFramePreviewRenderer, frameTime, documentSize,
+                        processingColorSpace,
+                        groupHandler.Id.ToString());
+            }
+            else
+            {
+                groupHandler.PreviewPainter.FrameTime = frameTime;
+                groupHandler.PreviewPainter.DocumentSize = documentSize;
+                groupHandler.PreviewPainter.ProcessingColorSpace = processingColorSpace;
+            }
+
             groupHandler.PreviewPainter.Repaint();
         }
     }
@@ -188,13 +208,24 @@ internal class MemberPreviewUpdater
                 if (member is not IPreviewRenderable previewRenderable)
                     continue;
 
-                structureMemberHandler.MaskPreviewPainter = new PreviewPainter(
-                    doc.Renderer,
-                    previewRenderable,
-                    doc.AnimationHandler.ActiveFrameTime,
-                    doc.SizeBindable,
-                    internals.Tracker.Document.ProcessingColorSpace,
-                    nameof(StructureNode.EmbeddedMask));
+                if (structureMemberHandler.MaskPreviewPainter == null)
+                {
+                    structureMemberHandler.MaskPreviewPainter = new PreviewPainter(
+                        doc.Renderer,
+                        previewRenderable,
+                        doc.AnimationHandler.ActiveFrameTime,
+                        doc.SizeBindable,
+                        internals.Tracker.Document.ProcessingColorSpace,
+                        nameof(StructureNode.EmbeddedMask));
+                }
+                else
+                {
+                    structureMemberHandler.MaskPreviewPainter.FrameTime = doc.AnimationHandler.ActiveFrameTime;
+                    structureMemberHandler.MaskPreviewPainter.DocumentSize = doc.SizeBindable;
+                    structureMemberHandler.MaskPreviewPainter.ProcessingColorSpace =
+                        internals.Tracker.Document.ProcessingColorSpace;
+                }
+
                 structureMemberHandler.MaskPreviewPainter.Repaint();
             }
         }