本文介绍了当您在 Windows 嵌入式紧凑型 2013年运行 Windows Embedded 用于 Silverlight 应用程序时发生的问题。更新程序可以解决此问题。在安装此更新之前,必须安装此产品以前发出的所有更新。
症状
请考虑以下情形:
-
您可以为 Windows 嵌入式应用程序、 基于 Windows 嵌入式紧凑型 2013年的设备上安装的 Microsoft Silverlight。
-
该设备具有单核处理器。
-
启用以下主板支持包 (BSP) 环境变量,以便为 Windows Embedded 用于 Silverlight 支持 OpenGL 硬件加速︰
BSP_XRPLUGIN_OPENGL
在这种情况下,当您运行应用程序时遇到高 CPU 利用率和性能问题。
原因
此问题是由于 Silverlight 用户界面 (UI) 线程纹理将更新发送给比速率呈现线程可以呈现它们的速度要快得多。
解决方案
下载信息
现可从 Microsoft Windows 嵌入式紧凑型 2013年每月更新 (10 月 2014)。若要下载此 Windows 嵌入式紧凑型 2013年每月更新,转到Microsoft 在线 OEM或MyOEM。
详细信息
重启要求
应用此更新后,您必须执行干净对整个平台的构建。若要执行此操作,请使用以下方法之一︰
-
在生成菜单中,单击清理解决方案,,然后单击生成解决方案。
-
单击生成菜单上的重新生成解决方案。
应用此软件更新后无需重新启动计算机。
更新替换信息
此更新不替代任何其他更新。
此软件更新包的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
此修复程序包中包含的文件
文件名称 |
文件大小 |
日期 |
时间 |
路径 |
---|---|---|---|---|
Xamlruntimegraphics.h |
15,982 |
17-Sep-2014 |
09:06 |
Public\Common\Oak\Inc |
Ddrawdevice.hpp |
6,785 |
17-Sep-2014 |
09:06 |
Public\Common\Oak\Xamlrenderplugin\Ddraw |
Opengldevice.cpp |
66,076 |
17-Sep-2014 |
09:06 |
Public\Common\Oak\Xamlrenderplugin\Opengl |
Opengldevice.hpp |
9,724 |
17-Sep-2014 |
09:06 |
Public\Common\Oak\Xamlrenderplugin\Opengl |
Xrrendererddraw.lib |
2,404 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Retail |
Xrrendererddraw.exp |
1,138 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Retail |
Xrrendereropengl.lib |
2,404 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Retail |
Xrrendereropengl.exp |
1,140 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Retail |
Xrrendererddraw.lib |
2,404 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Lib\X86\Debug |
Xrrendererddraw.exp |
1134 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Lib\X86\Debug |
Xrrendereropengl.lib |
2,404 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Lib\X86\Debug |
Xrrendereropengl.exp |
1,140 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Lib\X86\Debug |
Xrrendererddraw.lib |
2,404 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Checked |
Xrrendererddraw.exp |
1,138 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Checked |
Xrrendereropengl.lib |
2,404 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Checked |
Xrrendereropengl.exp |
1,140 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\X86\Checked |
Xrrendererddraw.lib |
2,388 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Retail |
Xrrendererddraw.exp |
1,131 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Retail |
Xrrendereropengl.lib |
2,388 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Retail |
Xrrendereropengl.exp |
1,137 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Retail |
Xrrendererddraw.lib |
2,388 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\Armv7\Debug |
Xrrendererddraw.exp |
1,131 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\Armv7\Debug |
Xrrendereropengl.lib |
2,388 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\Armv7\Debug |
Xrrendereropengl.exp |
1,137 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Lib\Armv7\Debug |
Xrrendererddraw.lib |
2,388 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Checked |
Xrrendererddraw.exp |
1,135 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Checked |
Xrrendereropengl.lib |
2,388 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Checked |
Xrrendereropengl.exp |
1,137 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Lib\Armv7\Checked |
Interactivity.dll |
102,400 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Interactivity.map |
261,175 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Interactivity.rel |
44,099 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.dll |
802,816 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.map |
1,373,394 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.rel |
1,679,177 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntimecore.dll |
2,879,488 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntimecore.map |
1,811,157 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntimecore.rel |
1,844,187 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Retail |
Xrrendererddraw.dll |
24,576 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Xrrendererddraw.map |
28,969 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Xrrendererddraw.rel |
6,080 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Xrrendereropengl.dll |
32768 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Xrrendereropengl.map |
51,394 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Xrrendereropengl.rel |
15,157 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\X86\Retail |
Interactivity.dll |
253,952 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Interactivity.map |
580,631 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Interactivity.rel |
172,424 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.dll |
1,687,552 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.map |
2,584,434 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.rel |
2,339,246 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntimecore.dll |
7,512,064 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntimecore.map |
5,373,336 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntimecore.rel |
4,079,246 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\X86\Debug |
Xrrendererddraw.dll |
45,056 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Xrrendererddraw.map |
49,051 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Xrrendererddraw.rel |
14,606 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Xrrendereropengl.dll |
151,552 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Xrrendereropengl.map |
275,814 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Xrrendereropengl.rel |
196,668 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\X86\Debug |
Interactivity.dll |
139,264 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Interactivity.map |
503,292 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Interactivity.rel |
61,760 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.dll |
1,167,360 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.map |
2,416,327 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.rel |
2,126,763 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntimecore.dll |
6,316,032 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntimecore.map |
5,330,367 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntimecore.rel |
5,787,607 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\X86\Checked |
Xrrendererddraw.dll |
32768 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Xrrendererddraw.map |
48,894 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Xrrendererddraw.rel |
13,417 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Xrrendereropengl.dll |
77,824 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Xrrendereropengl.map |
167,643 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Xrrendereropengl.rel |
42,098 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\X86\Checked |
Interactivity.dll |
98,304 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Interactivity.map |
446,025 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Interactivity.rel |
41,866 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.dll |
765,952 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.map |
2,421,084 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.rel |
1,443,958 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntimecore.dll |
2,789,376 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntimecore.map |
3,970,707 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntimecore.rel |
1,638,838 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendererddraw.dll |
28,672 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendererddraw.map |
45,798 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendererddraw.rel |
4,833 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendereropengl.dll |
36,864 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendereropengl.map |
81,279 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Xrrendereropengl.rel |
8,922 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Retail |
Interactivity.dll |
233,472 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Debug |
Interactivity.map |
1,928,325 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Debug |
Interactivity.rel |
94,675 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.dll |
1,773,568 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.map |
9,783,361 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.rel |
2,121,688 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntimecore.dll |
7,467,008 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntimecore.map |
20,735,843 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntimecore.rel |
2,572,870 |
30-Sep-2014 |
15:14 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendererddraw.dll |
49,152 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendererddraw.map |
99,572 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendererddraw.rel |
11,068 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendereropengl.dll |
131,072 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendereropengl.map |
590,681 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Xrrendereropengl.rel |
67,995 |
30-Sep-2014 |
15:17 |
Public\Common\Oak\Target\Armv7\Debug |
Interactivity.dll |
163,840 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Interactivity.map |
1,156,971 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Interactivity.rel |
87,947 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.dll |
1,228,800 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.map |
5,666,819 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.rel |
2,125,806 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntimecore.dll |
6,107,136 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntimecore.map |
14,902,705 |
30-Sep-2014 |
15:16 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntimecore.rel |
2,826,562 |
30-Sep-2014 |
15:15 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendererddraw.dll |
36,864 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendererddraw.map |
78,266 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendererddraw.rel |
10,778 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendereropengl.dll |
81,920 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendereropengl.map |
235,543 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Xrrendereropengl.rel |
25,220 |
30-Sep-2014 |
15:18 |
Public\Common\Oak\Target\Armv7\Checked |
Interactivity.dll |
178,864 |
30-Sep-2014 |
12:56 |
Public\Common\Oak\Bin\I386 |
Xamlruntimecore_dt.dll |
2,415,280 |
30-Sep-2014 |
12:56 |
Public\Common\Oak\Bin\I386 |
Xamlruntime_dt.dll |
1,133,232 |
30-Sep-2014 |
12:56 |
Public\Common\Oak\Bin\I386 |
Xrpack.exe |
281,264 |
30-Sep-2014 |
12:56 |
Public\Common\Oak\Bin\I386 |
Xamlruntime.exp |
1,887 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\X86\Retail |
Xamlruntime.lib |
3,664 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\X86\Retail |
Xamlruntime.exp |
1,886 |
30-Sep-2014 |
15:14 |
Public\Common\Sdk\Lib\X86\Debug |
Xamlruntime.lib |
3,664 |
30-Sep-2014 |
15:14 |
Public\Common\Sdk\Lib\X86\Debug |
Xamlruntime.exp |
1,888 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\X86\Checked |
Xamlruntime.lib |
3,664 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\X86\Checked |
Xamlruntime.exp |
1,885 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\Armv7\Retail |
Xamlruntime.lib |
3,642 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\Armv7\Retail |
Xamlruntime.exp |
1,880 |
30-Sep-2014 |
15:14 |
Public\Common\Sdk\Lib\Armv7\Debug |
Xamlruntime.lib |
3,642 |
30-Sep-2014 |
15:14 |
Public\Common\Sdk\Lib\Armv7\Debug |
Xamlruntime.exp |
1,886 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\Armv7\Checked |
Xamlruntime.lib |
3,642 |
30-Sep-2014 |
15:15 |
Public\Common\Sdk\Lib\Armv7\Checked |
Xamlruntime_dt.dll |
1,133,232 |
30-Sep-2014 |
12:56 |
计划该 visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xamlruntimecore_dt.dll |
2,415,280 |
30-Sep-2014 |
12:56 |
计划该 visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xrpack.exe |
281,264 |
30-Sep-2014 |
12:56 |
计划该 visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Interactivity.dll |
178,864 |
30-Sep-2014 |
12:56 |
计划该 visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
解决方法信息实例化新的 XAML 类继承的ICustomGraphicsDevice类可能会触发下列编译器错误︰
错误 C2259: < classname >︰ 无法实例化抽象类
此问题被因为此修补程序的ICustomGraphicsDevice类中的四个抽象函数的加法。 若要变通解决此问题,请实现类中继承ICustomGraphicsDevice下面的抽象函数。(请参阅 xamlruntimegraphics.h。
-
虚拟 __checkReturn XRESULT UIThreadPriority() = 0;
-
虚拟 __checkReturn XRESULT RenderThreadPriority() = 0;
-
虚拟 __checkReturn XRESULT RenderThreadQuantum() = 0;
-
虚拟 __checkReturn BOOL DisplayFrameRateMonitor() = 0;
此更新引入了多个注册表值,使您可以执行下列操作︰
-
处理 UI 线程优先级
-
操作的渲染线程优先级别
-
呈现线程量子操作
-
显示帧速率监视器以及两个先前提到的线程的优先级设置
注册表信息
注册表位置
HKEY_LOCAL_MACHINE\Software\Microsoft\XamlRenderOpenGL
注册表子项和可能的值
名称 |
类型 |
说明 |
默认值 |
UIThreadPriority |
REG_DWORD |
设置 UI 线程 (0-5) 的优先级
|
3 |
RenderThreadPriority |
REG_DWORD |
呈现线程 (0-5) 的优先级设置
|
3 |
RenderThreadQuantum |
REG_DWORD |
设置线程量子级别 (以毫秒为单位) 呈现线程 (0-5)
同一级别的量程以轮循机制方式,运行与接收的量程或片,执行时间的每个线程的线程。 |
2 |
DisplayFrameRateMonitor |
REG_DWORD |
指定是否启用显示帧速率监视器。将该项设置为 1 可启用监视器,并为 0 (零) 来禁用显示器。 |
0 |
提升性能更好的呈现线程的速率,请RenderThreadPriority值设置为 2。
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
参考资料
关于 BSP 环境变量的信息,请参阅BSP 环境变量 (Windows 嵌入式紧凑型 2013)。 了解用于描述 Microsoft 软件更新的标准术语。