在表单上呈现多个图片框时减少延迟

时间:2014-08-08 19:48:10

标签: c# winforms graphics picturebox

我正在使用C#开发一个简单的关卡编辑器,它使用大小为16x16的切片。默认级别大小为256x256,每行需要16个磁贴(16行)。这意味着默认级别大小,总共需要256个磁贴。瓷砖在图片框控件中呈现在面板上。正如你可能猜到的那样,在中型笔记本电脑上大约100多个瓷砖后,应用程序即使在移动鼠标时也会遇到延迟。

该应用程序是一个WinForms应用程序。

我想知道如何解决这个问题。

我的电脑规格:

  • Windows 7 64位
  • 2.5-3GHz Intel i5 CPU
  • Intel HD 4000 GPU(64Mb专用视频内存 - 可能是问题)
  • 6GB DDR3 1600MHz内存(RAM)
  • 运行750GB硬盘

我尝试过:

  • 为面板和正在渲染图片框的表单启用双缓冲。
  • 制作一个以简单方式绘制图像的自定义控件。

这两种方法都导致同样缺乏成功和视觉滞后。

我已经阅读了许多其他答案,上面的解决方案似乎是唯一的解决方案,尽管它们对我无济于事。

1 个答案:

答案 0 :(得分:3)

不是试图将每个图块显示为自己的控件,而是将对象合并为一个控件。

堆栈中已经有 great answer 描述了它是如何完成的。