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 及更新版本中修复。
我们在一些 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 及更新版本中修复。