WriteableBitmap.WritePixels 在某些 PC 上不刷新

WriteableBitmap.WritePixels not refreshing on some PCs

我们在一些 Windows PC 上遇到了非常奇怪的问题。我们有一个视频应用程序,一部分使用 WritePixels 来更新 WriteableBitmap 并将帧显示到屏幕上。

代码是:

_currentframe.WritePixels(new Int32Rect(0, 0, data.Width, data.Height), data.Bytes, data.Stride, 0);

NotifyPropertyChanged("CurrentFrame");

(其中 'data' 是我们像素数据的包装器 class)

它在 99% 的计算机上运行良好。在至少一台 Windows 8.1 笔记本电脑上,图像不会刷新。我不知道为什么,其他一切正常。

我不明白什么会导致某些 PC 上出现此问题 - 欢迎提出任何建议。问题系统的一些细节:Win8.1(西班牙语),net 4.5.50709(但软件使用4.0)。

显卡驱动程序是 Intel HD Graphics 4000

我们实际上在我们的软件中重现了在某些计算机上出现的此错误,以绘制高性能图表。这似乎是某些 Intel 图形驱动程序和 WriteableBitmap / .NET4/4.5.

的问题

http://www.scichart.com/questions/question/zoom-not-working-properly-on-one-single-computer

我们认为正在发生的是 WriteableBitmap once locked/unlocked once 不允许任何进一步的更新。相同的代码在许多其他机器上运行良好,唯一的其他解决方法是在出现此问题的系统上禁用 WPF 进程的硬件呈现。

另一种解决方法是使用 Intel 高清显卡更新目标 PC 上的显卡驱动程序。

这可能是由 Intel 驱动程序中的一个已知错误引起的。根据 this issue report and this report from Intel,该错误已在 Intel 驱动程序 30.0.100.9667 及更新版本中修复。