Applies ToWindows Embedded Compact 2013

В данной статье описывается проблема, которая возникает при запуске приложения Silverlight для Windows Embedded в Windows Embedded Compact 2013. Доступно обновление для устранения этой проблемы. Перед установкой этого обновления необходимо установить все ранее выпущенные обновления для данного продукта.

Симптомы

Рассмотрим следующий сценарий:

  • У вас есть Microsoft Silverlight для Windows Embedded приложения, установленного на устройстве на базе Windows Embedded Compact 2013.

  • Устройство имеет одноядерный процессор.

  • Включить следующие переменной среды пакета (BSP) Поддержка системной платы для поддержки аппаратного ускорения OpenGL для Silverlight для Windows Embedded:BSP_XRPLUGIN_OPENGL

В этом случае высокой ЦП использования и производительности проблемы возникают при запуске приложения.

Причина

Эта проблема возникает, так как поток пользовательского интерфейса (UI) Silverlight отправляет обновления текстура намного быстрее, чем скорость, с которой их можно визуализировать поток отрисовки.

Решение

Информация о скачивании

Теперь Windows Embedded Compact 2013 ежемесячное обновление (октябрь 2014) от корпорации Майкрософт. Чтобы загрузить это обновление Windows Embedded Compact 2013 ежемесячно, перейдите к Microsoft OEM Online или MyOEM.

Дополнительные сведения

Необходимость перезагрузки

После установки этого обновления необходимо выполнить чистую сборку всей платформы. Для этого воспользуйтесь одним из следующих способов:

  • В меню Построение выберите пункт Очистить решениеи выберите команду Построить решение.

  • В меню Построение выберите команду Перестроить решение.

Необходимо перезагрузить компьютер после применения этого обновления программного обеспечения.

Сведения о замене обновлений

Это обновление не заменяет других обновлений.

Английская версия данного пакета обновления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (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

1,134

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

32 768

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

32 768

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: «< имя_класса >»: не удается создать экземпляр абстрактного класса

Данная проблема происходит путем добавления четырех абстрактных функций в классе ICustomGraphicsDevice для этого исправления.Чтобы обойти эту проблему, реализуйте следующие абстрактные функции в своем классе, который наследует ICustomGraphicsDevice. (См. также: xamlruntimegraphics.h.)

  • виртуальный __checkReturn XRESULT UIThreadPriority() = 0;

  • виртуальный __checkReturn XRESULT RenderThreadPriority() = 0;

  • виртуальный __checkReturn XRESULT RenderThreadQuantum() = 0;

  • виртуальный __checkReturn BOOL DisplayFrameRateMonitor() = 0;

Это обновление вводит несколько значений реестра, которые позволяют выполнить следующие:

  • Управление приоритетом потока пользовательского интерфейса

  • Приоритет обработки потока управления

  • Управлять потоком такт визуализации

  • Отображение монитора частота кадров совместно с параметрами приоритета двух вышеупомянутых потока

Сведения о реестре

Расположение в реестре

HKEY_LOCAL_MACHINE\Software\Microsoft\XamlRenderOpenGL

Подразделы и значения

Имя

Тип

Описание

Значение по умолчанию

UIThreadPriority

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

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.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Ссылки

Сведения о переменных среды загрузочный Процессор BSP переменные среды (Windows Embedded Compact 2013)см.Дополнительные сведения о стандартной терминологии, которая используется для описания обновлений программных продуктов Майкрософт.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.