Тази статия се описва проблем, възникващ когато стартирате приложение на Silverlight за Windows Embedded в Windows Embedded Compact 2013. Налична е актуализация за да решите този проблем. Преди да инсталирате тази актуализация, трябва да се инсталира всички издадени преди това актуализации за този продукт.

Симптоми

Да разгледаме следния сценарий:

  • Имате Microsoft Silverlight за Windows Embedded приложения, инсталирани на Windows Embedded Compact 2013 устройство.

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

  • Да поддържа OpenGL хардуерно ускорение за Silverlight за Windows Embedded разрешите следните дъска поддръжка пакет (BSP) променливата на средата:

    BSP_XRPLUGIN_OPENGL

В този случай имате високо CPU използване и производителност проблеми, когато стартирате програмата.

Причина

Този проблем възниква, защото Silverlight потребителски интерфейс (ПИ) нишка изпраща актуализации текстура много по-бързо от скоростта, която прави нишка може да ги направи.

Решение

Информация за изтегляне

Вграден Компактен 2013 ежемесечно актуализиране на Windows (октомври 2014) вече се предлага от Microsoft. За да изтеглите актуализацията Windows Embedded Compact 2013 месечни, отидете на Microsoft OEM Online или 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

1138

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

1138

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

Програмата files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools

Xamlruntimecore_dt.dll

2,415,280

30-Sep-2014

12:56

Програмата files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools

Xrpack.exe

281,264

30-Sep-2014

12:56

Програмата files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools

Interactivity.dll

178,864

30-Sep-2014

12:56

Програмата files\Microsoft 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.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Препратки

За информация относно БСП променливи вижте БСП променливи (Windows Embedded Compact 2013).

Научете повече за стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×