Este artigo descreve um problema que ocorre quando você executa um aplicativo Silverlight para Windows incorporado no Windows Embedded Compact 2013. Uma atualização está disponível para resolver esse problema. Antes de instalar essa atualização, todas as atualizações emitidas anteriormente para este produto devem ser instaladas.
Sintomas
Considere o seguinte cenário:
-
Você tem um Microsoft Silverlight para Windows Embedded aplicativo instalado em um dispositivo baseado no Windows Embedded Compact 2013.
-
O dispositivo tem um processador de núcleo único.
-
Ativar a variável de ambiente do pacote (BSP) de suporte placa seguinte para oferecer suporte a OpenGL aceleração de hardware para o Silverlight para Windows Embedded:
BSP_XRPLUGIN_OPENGL
Nesse cenário, você enfrentar problemas de desempenho e o uso da CPU altos quando você executar o aplicativo.
Causa
Esse problema ocorre porque o segmento de interface (UI) do usuário do Silverlight envia as atualizações de textura muito mais rápido do que a taxa em que o thread de processamento pode processá-los.
Resolução
Informações sobre o download:
Windows Embedded Compact 2013 atualização mensal (outubro de 2014) foi disponibilizada pela Microsoft. Para baixar essa atualização mensal do Windows Embedded Compact 2013, vá para Microsoft OEM Online ou MyOEM.
Mais informações
Requisitos de reinicialização:
Depois de aplicar essa atualização, você deve executar uma compilação limpa de toda a plataforma. Para fazer isso, use um dos seguintes métodos:
-
No menu Build , clique em Limpar soluçãoe, em seguida, clique em Build Solution.
-
No menu Build, clique em Solução de reconstrução.
Você não precisa reiniciar o computador após aplicar essa atualização de software.
Informações de substituição da atualização
Esta atualização não substitui outras atualizações.
A versão em inglês deste pacote de atualização de software tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.
Arquivos incluídos neste pacote de hotfix
Nome do Arquivo |
Tamanho do arquivo |
Data |
Hora |
Caminho |
---|---|---|---|---|
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 |
Programa files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xamlruntimecore_dt.dll |
2,415,280 |
30-Sep-2014 |
12:56 |
Programa files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xrpack.exe |
281,264 |
30-Sep-2014 |
12:56 |
Programa files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Interactivity.dll |
178,864 |
30-Sep-2014 |
12:56 |
Programa files\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Informações de solução alternativaCriar uma instância de uma nova classe XAML que herda da classe ICustomGraphicsDevice pode disparar o seguinte erro de compilador:
Erro C2259: '< classname >': não é possível criar uma instância de classe abstrata
Esse problema é causado pela adição de quatro funções abstratas na classe ICustomGraphicsDevice para esse hotfix. Para contornar esse problema, implemente as seguintes funções abstratas em sua classe que herda ICustomGraphicsDevice. (Consulte também xamlruntimegraphics.h.)
-
checkReturn virtual XRESULT UIThreadPriority() = 0;
-
checkReturn virtual XRESULT RenderThreadPriority() = 0;
-
checkReturn virtual XRESULT RenderThreadQuantum() = 0;
-
checkReturn virtual BOOL DisplayFrameRateMonitor() = 0;
Essa atualização introduz vários valores de registro que permitem que você faça o seguinte:
-
Manipular a prioridade do Thread da interface do usuário
-
Manipular a prioridade do Thread de processamento
-
Manipular o Quantum do segmento de processamento
-
Abrir o monitor de taxa de quadro com duas configurações de prioridade de thread mencionado anteriormente
Informações do registro:
Local do registro
HKEY_LOCAL_MACHINE\Software\Microsoft\XamlRenderOpenGL
Subchaves e valores possíveis
Nome |
Tipo |
Descrição |
Valor padrão |
UIThreadPriority |
REG_DWORD |
Define a prioridade do thread da interface do usuário (0-5)
|
3 |
RenderThreadPriority |
REG_DWORD |
Define a prioridade do thread de processamento (0-5)
|
3 |
RenderThreadQuantum |
REG_DWORD |
Define o nível de quantum do segmento (em milissegundos) para o segmento de processamento (0-5)
Segmentos no mesmo nível da quantum são executados de forma alternada, com cada segmento sem receber um quantum ou fatia de tempo de execução. |
2 |
DisplayFrameRateMonitor |
REG_DWORD |
Especifica se o monitor de taxa de quadros de vídeo está habilitado. Defina essa entrada como 1 para ativar o monitor e para 0 (zero) para desativar o monitor. |
0 |
Para aumentar a taxa de encadeamento de renderização para obter melhor desempenho, defina o valor de RenderThreadPriority como 2.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".
Referências
Para obter informações sobre variáveis de ambiente BSP, consulte variáveis de ambiente BSP (Windows Embedded Compact de 2013). Saiba mais sobre a terminologia padrão que é usada para descrever as atualizações de software.