Este artigo descreve um problema que ocorre quando executa uma aplicação Silverlight para o Windows Embedded 2013 do Windows Embedded Compact. Existe uma actualização resolver este problema. Antes de instalar esta actualização, tem de ser instaladas todas as actualizações anteriormente disponibilizadas para este produto.
Sintomas
Considere o seguinte cenário:
-
É necessário um Microsoft Silverlight para a aplicação Windows Embedded instalada num dispositivo baseado no Windows de 2013 Compact incorporado.
-
O dispositivo tem um processador único-core.
-
Activar a variável de ambiente do pacote (BSP) de suporte de quadro seguinte para suportar a aceleração de hardware do OpenGL para Silverlight para o Windows Embedded:
BSP_XRPLUGIN_OPENGL
Neste cenário, ocorrem problemas elevados de utilização e desempenho de CPU quando executar a aplicação.
Causa
Este problema ocorre porque o thread de IU (interface) de utilizador do Silverlight envia as actualizações de textura muito mais rápido do que a taxa à qual o thread de processamento de gráficos pode torná-los.
Resolução
Informações de transferência
Incorporado Compact 2013 actualização mensal do Windows (de Outubro de 2014) está agora disponível da Microsoft. Para transferir esta actualização mensal do Windows incorporado de 2013 Compact, vá para o Microsoft OEM Online ou MyOEM.
Mais informações
Requisito de reinício
Depois de aplicar esta actualização, deve efectuar uma limpeza de toda a plataforma. Para tal, utilize um dos seguintes métodos:
-
No menu de criação , clique Solução limpoe, em seguida, clique em Criar solução.
-
No menu de criação , clique em Reconstruir solução.
Não é necessário reiniciar o computador depois de aplicar esta actualização de software.
Atualizar informações de substituição
Esta actualização não substitui quaisquer outras actualizações.
A versão inglesa deste pacote de actualização de software tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.
Ficheiros que estão incluídos neste pacote de correcção
Nome do ficheiro |
Tamanho do ficheiro |
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 c:\Programas\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xamlruntimecore_dt.dll |
2,415,280 |
30-Sep-2014 |
12:56 |
Programa c:\Programas\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Xrpack.exe |
281,264 |
30-Sep-2014 |
12:56 |
Programa c:\Programas\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Interactivity.dll |
178,864 |
30-Sep-2014 |
12:56 |
Programa c:\Programas\Microsoft visual studio 11.0\Vc\Vcwizards\Windowsembeddedxamltools |
Informações sobre soluções alternativasCriar uma instância de uma nova classe XAML herda da classe de ICustomGraphicsDevice pode accionar o seguinte erro de compilador:
Erro C2259: '< NomeClasse >': não é possível instanciar uma classe abstracta
Este problema é causado por adição de quatro funções de resumo na classe ICustomGraphicsDevice para esta correcção. Para contornar este problema, implemente as seguintes funções de resumo na classe que herda a ICustomGraphicsDevice. (Consulte também xamlruntimegraphics.h.)
-
virtual __checkReturn XRESULT UIThreadPriority() = 0;
-
virtual __checkReturn XRESULT RenderThreadPriority() = 0;
-
virtual __checkReturn XRESULT RenderThreadQuantum() = 0;
-
__checkReturn virtual BOOL DisplayFrameRateMonitor() = 0;
Esta actualização inclui vários valores de registo que permitem-lhe efectuar o seguinte:
-
Manipular a prioridade do Thread de IU
-
Manipular a prioridade do Thread de composição
-
Manipular o Quantum de Thread de composição
-
Apresentar o monitor de taxa de frame com as definições de prioridade do thread anteriormente mencionadas dois
Informações de registo
Localização do registo
HKEY_LOCAL_MACHINE\Software\Microsoft\XamlRenderOpenGL
Subchaves de registo e os valores possíveis
Nome |
Tipo |
Descrição |
Valor predefinido |
UIThreadPriority |
REG_DWORD |
Define a prioridade do thread de IU (0-5)
|
3 |
RenderThreadPriority |
REG_DWORD |
Define a prioridade do thread de composição (0-5)
|
3 |
RenderThreadQuantum |
REG_DWORD |
Define o nível de quantum de thread (em milissegundos) para o thread de composição (0-5)
Executar threads ao mesmo nível de quantum de um modo round robin, com cada thread receber um quantum ou sector, do tempo de execução. |
2 |
DisplayFrameRateMonitor |
REG_DWORD |
Especifica se o monitor de taxa de visualização Frame está activado. Defina esta entrada como 1 para activar o monitor e para 0 (zero) para desactivar o monitor. |
0 |
Para elevar a taxa do thread de processamento de gráficos para um melhor desempenho, defina o valor de RenderThreadPriority para 2.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secçã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 2013). Obter informações sobre a terminologia padrão utilizada para descrever actualizações de software da Microsoft.