本文介绍了当您在 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 在线 OEMMyOEM

详细信息

重启要求

应用此更新后,您必须执行干净对整个平台的构建。若要执行此操作,请使用以下方法之一︰

  • 生成菜单中,单击清理解决方案,,然后单击生成解决方案

  • 单击生成菜单上的重新生成解决方案

应用此软件更新后无需重新启动计算机。

更新替换信息

此更新不替代任何其他更新。

此软件更新包的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (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) 的优先级

  • PAL_THREAD_PRIORITY_LOW=5

  • PAL_THREAD_PRIORITY_LOWERED=4

  • PAL_THREAD_PRIORITY_NORMAL=3

  • PAL_THREAD_PRIORITY_ELEVATED=2

  • PAL_THREAD_PRIORITY_HIGH=1

  • PAL_THREAD_PRIORITY_REAL_TIME=0

3

RenderThreadPriority

REG_DWORD

呈现线程 (0-5) 的优先级设置

  • PAL_THREAD_PRIORITY_LOW=5

  • PAL_THREAD_PRIORITY_LOWERED=4

  • PAL_THREAD_PRIORITY_NORMAL=3

  • PAL_THREAD_PRIORITY_ELEVATED=2

  • PAL_THREAD_PRIORITY_HIGH=1

  • PAL_THREAD_PRIORITY_REAL_TIME=0

3

RenderThreadQuantum

REG_DWORD

设置线程量子级别 (以毫秒为单位) 呈现线程 (0-5)

  • 0 – 最大量程时,线程运行,直到完成

  • 5 – 高量程时间

  • 4 – 中等量程时间

  • 3 – 增加量程时间

  • 2 – 正常量程时间

  • 1 – 低量程时间

同一级别的量程以轮循机制方式,运行与接收的量程或片,执行时间的每个线程的线程。

2

DisplayFrameRateMonitor

REG_DWORD

指定是否启用显示帧速率监视器。将该项设置为 1 可启用监视器,并为 0 (零) 来禁用显示器。

0

提升性能更好的呈现线程的速率,请RenderThreadPriority值设置为 2。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

参考资料

关于 BSP 环境变量的信息,请参阅BSP 环境变量 (Windows 嵌入式紧凑型 2013)了解用于描述 Microsoft 软件更新的标准术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。