We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent cec72bd commit 1f3c276Copy full SHA for 1f3c276
src/DotNetCampus.AvaloniaInkCanvas/Core/AvaloniaSkiaInkCanvas.cs
@@ -200,6 +200,15 @@ public void RemoveStaticStroke(SkiaStroke skiaStroke)
200
201
_staticStrokeList.Remove(skiaStroke);
202
skiaStroke.InkCanvas = null;
203
+
204
+ // 删除笔迹时,关闭位图缓存。这是因为可能存在以下情况:
205
+ // 1. 第一次绘制时,笔迹 A 和 B 都在,此时有前置的渲染正在进入等待
206
+ // 2. 用户删除了笔迹 A,设置缓存失效
207
+ // 3. 此时渲染线程执行第一次绘制,获取的信息是笔迹 A 和 B 都在,生成了缓存
208
+ // 4. 第二次绘制时,使用了缓存,笔迹 A 仍然显示
209
+ // 此逻辑无法规避,只能直接在删除笔迹时关闭位图缓存
210
+ UseBitmapCache(false);
211
212
InvalidateVisual();
213
}
214
0 commit comments