メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

この資料では、Windows 埋め込まれたコンパクト 2013 で、Windows Embedded の Silverlight アプリケーションを実行する場合に発生する問題について説明します。この問題を解決するための更新プログラムが利用可能です。この更新プログラムをインストールする前にこの製品の以前に発行されたすべての更新プログラムをインストールする必要があります。

現象

次のような状況を考えます。

  • Windows 埋め込まれたコンパクトな 2013 ベースのデバイスにインストールされている Windows Embedded のアプリケーション用の Microsoft Silverlight があります。

  • デバイスは、シングル ・ コア ・ プロセッサを搭載します。

  • Windows Embedded の Silverlight のハードウェア アクセラレータの OpenGL をサポートするために、次のボード サポート パッケージ (BSP) 環境変数を有効にします。

    BSP_XRPLUGIN_OPENGL

このシナリオでは、アプリケーションを実行すると、高い CPU 使用率とパフォーマンスの問題を発生します。

原因

この問題は、Silverlight のユーザー インターフェイス (UI) スレッドは、レンダリング スレッドがそれらをレンダリングの速度よりもはるかに高速のテクスチャの更新を送信するために発生します。

解決策

ダウンロード情報

Windows 埋め込まれたコンパクトな 2013 月例更新プログラム (2014年 10 月) は、マイクロソフトから利用可能なようになりました。この Windows 埋め込まれたコンパクトな 2013 の月例更新プログラムをダウンロードするには、 Microsoft OEM オンラインまたはMyOEMに移動します。

詳細

再起動の必要性

この更新プログラムを適用した後、プラットフォーム全体のクリーン ビルドを行う必要があります。これを行うには、次の方法のいずれかの手順に従います。

  • [ビルド] メニューで、[ソリューションのクリーン] をクリックし、[ソリューションのビルド] をクリックします。

  • [ビルド] メニューで、ソリューションのリビルド]をクリックします。

このソフトウェア更新プログラムを適用した後コンピューターを再起動する必要はありません。

更新プログラムの置き換えに関する情報

この更新プログラムは、他の更新プログラムを置き換えません。

このソフトウェア更新プログラム パッケージの英語バージョンがファイル属性 (またはそれ以降のファイル属性) には次の表に記載されています。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。

この修正プログラム パッケージに含まれるファイル

ファイル名

ファイル サイズ

日付

時刻

Path

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



回避策に関する情報ICustomGraphicsDeviceクラスを継承する新しい XAML クラスをインスタンス化すると、次のコンパイラ エラーをトリガー可能性があります。

エラー c2259 エラー: '< クラス名 >': 抽象クラスをインスタンス化できません。


この問題は、4 つの抽象関数をこの修正プログラムのICustomGraphicsDeviceクラスに追加することによって発生します。

この問題を回避するには、 ICustomGraphicsDeviceを継承するクラスに抽象関数は、以下を実装します。(Xamlruntimegraphics.h も参照してください)。

  • 仮想 __checkReturn XRESULT UIThreadPriority() = 0 になります。

  • 仮想 __checkReturn XRESULT RenderThreadPriority() = 0 になります。

  • 仮想 __checkReturn XRESULT RenderThreadQuantum() = 0 になります。

  • 仮想 __checkReturn BOOL DisplayFrameRateMonitor() = 0 になります。

この更新プログラムには、次の操作をすることができるいくつかのレジストリ値が導入されています。

  • UI スレッドの優先順位を操作します。

  • レンダリング スレッドの優先順位を操作します。

  • レンダリング スレッドのクォンタムを操作します。

  • 2 つの前述のスレッド優先順位の設定とフレーム レートのモニターを表示します。

レジストリ情報

レジストリの場所

HKEY_LOCAL_MACHINE\Software\Microsoft\XamlRenderOpenGL

レジストリ サブキーと値

名前

タイプ

説明

既定値

UIThreadPriority

REG_DWORD

(0 ~ 5) の UI スレッドの優先順位を設定します。

  • 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 環境変数については、 BSP の環境変数 (Windows 埋め込まれたコンパクトな 2013)を参照してください。

マイクロソフト ソフトウェアの更新に使用される一般的な用語について説明します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×