Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF表单中的有限控件(win32exception与每个窗口10000个控件冲突)_C#_Wpf_Performance_Image Processing_Win32 Process - Fatal编程技术网

C# WPF表单中的有限控件(win32exception与每个窗口10000个控件冲突)

C# WPF表单中的有限控件(win32exception与每个窗口10000个控件冲突),c#,wpf,performance,image-processing,win32-process,C#,Wpf,Performance,Image Processing,Win32 Process,我有一个程序运行正常,但当它以WPF形式命中近10000个图像时抛出异常System.ComponentModel.Win32Exception:操作成功完成 它太奇怪了,听起来设计很差,但按照要求运行良好。在不将进程拆分为多个的情况下,有没有更好的方法可以帮助解决此问题,并允许用户处理10000多个图像(表单中的控件) 我已经仔细检查了正确处理和使用块等的未管理代码 背景:应用程序创建PDF页面的图像缩略图,图像存储在缓存中。虽然在屏幕上创建图像需要相当长的时间,但应用程序在处理以千兆字节为单

我有一个程序运行正常,但当它以WPF形式命中近10000个图像时抛出异常System.ComponentModel.Win32Exception:操作成功完成

它太奇怪了,听起来设计很差,但按照要求运行良好。在不将进程拆分为多个的情况下,有没有更好的方法可以帮助解决此问题,并允许用户处理10000多个图像(表单中的控件)

我已经仔细检查了正确处理和使用块等的未管理代码


背景:应用程序创建PDF页面的图像缩略图,图像存储在缓存中。虽然在屏幕上创建图像需要相当长的时间,但应用程序在处理以千兆字节为单位的大负载方面运行良好。(这是一个可接受的延迟)

听起来您已经达到了预期目标


您可能希望尝试成批处理,或者使用类似的虚拟化面板来显示图像。这只会在滚动到视图中时创建UI控件。

请评论!!在批处理实现中处理它们需要时间,该程序在所有其他情况下运行良好。虚拟化我必须看到的面板,我需要在这里思考,因为应用程序正在从pdf生成图像,并且在后端和动态中显示所有代码。所有图像都在wrap面板、stackpanel、checkbox和image control中。WrapPanel没有虚拟化,所以这可能是导致性能问题的原因。尝试将其替换为虚拟化包装,例如此开源包装:或此授权包装:。我将尝试使用虚拟化控件并在此处更新。这可能需要一些额外的时间。