C# 加载高分辨率图像时性能低下
我开发了一个类似“AdobePhotoshop”的实用程序。用户可以画矩形,圆形,。。。使用鼠标指针,然后移动或调整其大小。对于此功能,我假设每个形状都是存储在容器对象中的常规集合中的对象。当用户想要更改任何内容时,我可以识别出他单击的位置,并在场景后面选择目标对象,依此类推。。。 当屏幕中的对象很多或用户加载高分辨率的图片时,这种方法会出现问题 你怎么看C# 加载高分辨率图像时性能低下,c#,C#,我开发了一个类似“AdobePhotoshop”的实用程序。用户可以画矩形,圆形,。。。使用鼠标指针,然后移动或调整其大小。对于此功能,我假设每个形状都是存储在容器对象中的常规集合中的对象。当用户想要更改任何内容时,我可以识别出他单击的位置,并在场景后面选择目标对象,依此类推。。。 当屏幕中的对象很多或用户加载高分辨率的图片时,这种方法会出现问题 你怎么看 我该如何解决它呢?问题是,在高分辨率下,计算机需要使用更多的处理器,然后出现这种情况,请记住,在Gimp中,甚至在Adobe Photosh
我该如何解决它呢?问题是,在高分辨率下,计算机需要使用更多的处理器,然后出现这种情况,请记住,在Gimp中,甚至在Adobe Photoshop中也会出现这种情况
注意。使用dotTrace之类的探查器,找出调用最多、处理时间最长的方法。这些是您想要尝试优化的。除此之外,您可能还需要使用GPU来加快速度。关于此类问题,请考虑并行扩展:
cpu越多,程序运行越快。这是有道理的,因为数据集越大,处理它所需的RAM和cpu就越多 虽然性能问题对于解决很重要,但很多性能问题可能会被认为是线程问题,即一个线程试图处理信息,而您阻塞了UI线程,这使系统看起来像是冻结了 有很多关于StackOverflow的信息,你可能想看看
- (因为你说你正在使用一个集合)
我希望我提供的信息能够回答您的一些问题,从而引发新的问题。祝你好运 Paint.NET项目是一个开源和学习这些东西的好地方。“为什么我的应用程序性能不好?”“让我数一数可能的方法…”我用对象列表实现层逻辑。请描述一下你们所说的图层。给我一个例子或链接。你们在使用系统。绘图吗?您的GUI是WinForms还是WPF?