背景:我正在显示来自高于 60Hz 的高速数码相机的实时图像。通过更新 Image 控件的 ImageSource 来显示实时图像:
this.Dispatcher.Invoke(DispatcherPriority.Normal,(ThreadStart)delegate() { MyImage.Source = myNewBitMapImage; });
问题:如果以前的图像尚未显示在屏幕上,我想通过跳过任何新图像来提高应用程序的性能。例如,当 Image 控件(MyImage)还没有完成更新最后一个图像时,上面的调度程序调用将被跳过,直到 MyImage 再次变为“空闲”。
我在 MFC 中做了类似的事情,使用 GetUpdateRect() 来检查是否还有要更新的区域,如果有,则跳过新图像的显示。
问题:如何在 WPF 中实现相同的目标?如果图像控件尚未完成更新最后一个图像,则跳过新图像。
预先感谢。