我正在编写一个可能在画布上有数百个自定义用户控件的应用程序。所有这些都可以在屏幕上拖动,并且有一些线路将所有这些线路连接到至少一个其他用户控件。一旦达到250个自定义用户控件,或者性能开始明显下降,帧速率将达到10或更低。
在这种情况下,是否有关于如何优化性能的最佳实践或想法?问题似乎在于任何时候画布上的控件数量都很多。
谢谢!
〜史蒂夫
答案 0 :(得分:0)
不幸的是没有......它成为系统资源问题。
判断此问题的一种方法是使用VirtualizingStackPanel完成的某种形式的虚拟化。这归结为从可视树中删除项目,并在需要变为可见时保持对所需项目的引用。不强制呈现项目将显着减少所需的系统资源。如果需要在给定时间呈现所有项目,那么它就成为系统资源问题。保持控制尽可能小,并将问题保持在最低限度,因为它们会对系统造成负担。