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