多线程PictureBox控制渲染

时间:2016-03-11 12:52:18

标签: c# winforms

所以,主题是描述我自己的问题,但我会在这里添加一些注意事项。我有大约20个nvapi.dll控件,当表单出现时,需要0.5秒才能加载它们。我试图附加{{1}}以启用硬件渲染,但看起来问题出在其他方面。所以基本上我需要在多线程模式下渲染20个图像,这样它才会更快。

2 个答案:

答案 0 :(得分:1)

您可以使用PictureBox this.pictureBox1.LoadAsync(imagePath); 方法异步加载图片:

LoadAsync
  

LoadAsync方法的调用设置了   LoadAsync   属性为url的值。除了调用false方法,   你必须设置   <{1}}属性cols = dataset.columns split = lambda x: [c for c in x.split('_') if c.startswith('fixed')] (默认值)以异步方式加载图像。

答案 1 :(得分:1)

简单的答案是,你不能将多线程渲染图像渲染到图片框控件;

(1)你提到加载20个1024x768图像 - 你的用户不能同时看到所有这些图像,所以有没有一种方法可以加载“及时”,而不是“以防万一”

(2)你绝对可以从文件中多线程加载图像,然后在UI上使用Invoke()将加载线程中创建的图像分配给pictureBox.Image。

相关问题