2009-06-26 15 views
3

現在、シングルボードAMD Geodeコンピュータ(タッチスクリーン)用のWPFアプリケーションを開発中です。Windows Embedded Frameworkに関するWPF質問

Windows Embedded Standardはデバイスに正常にインストールされ、.Net 3.5がロードされています。アプリケーションは大部分は正常に動作しますが、異常な動作が発生しており、開発マシンで問題を再現することができないため、フレームワークから発生する可能性があります。

問題の簡単な説明:

私はこれをスクリーンキーボードに付けました。ボタンをタッチすると、オンスクリーンキーボードの上部にあるこのテキストボックスに入力した内容が表示されます。ユーザーキーの押下は、ボタン上のマウスダウンイベントハンドラーによって処理されます。ものすごく単純。このハンドラの内部I:

  1. キーを押すと音が鳴ります。
  2. は、いくつかのシフトとキャップロジック
  3. (送信者を経由して)押されたものをキー決定

は今、これは私の開発マシン上でかなり明らかに動作します

  • 更新キーボードのテキストを行います。問題はありません。 Windows Embedded標準では、私はこの奇妙な遅れをキーボードで受け取ります。基本的にキーを押すと、サウンドは再生されますが、押されたキーはキーボードの上部にあるテキストボックスでは更新されません。それはあとでランダムに更新するだけです。 (秒後または30秒後、かなりランダムで、押されたすべてのキーを追跡します)

    今、私は「マウスダウンハンドラ」の下部にログエントリを配置し、ハンドラは完了する。テキストは単に更新されません。また、私は打つボタンを押し続けることができます、そして、私がそれらをヒットすると、音が再生されますが、テキストは長い時間、そして突然一度に更新されません。

    他の奇妙なことは、この動作が常に存在するとは限りません。 OSが長くなればなるほど、キーボードが遅くなる可能性が高くなります。他のプログラムはデバイス上で実行されていません。通常、新しく再始動した後、遅れは約5〜20分はありません。私はCPUをチェックしています。そのCPUはかなり遅延しています。アプリケーションを再起動しても、初期ラグ仮説は解決されません。問題を取り除くにはOSを再起動する必要があります

    私は思うことがほとんどすべてを試みましたが、私はこの場所が私の最後の希望だと思います。

    私を助けてください。

    よろしく、

  • 答えて

    0

    私の盲目の推測では、ディスクがメッセージハンドラにしながら、音をロードするために十分速くないということです - 別のスレッドでサウンドを再生してみてください。

    +0

    残念ながら。 私は、イベントをハンドラを基本的に完全に減らしました。 { tbDisplay.text + = "a"; } ボタンを押したときに音だけが計算されるのではなく、テキストに「a」を付ける必要があります。まだ遅れている。 OSの残りの部分が遅れていますが、ランダムに長い時間それらの文字を表示しないアプリだけです。 – sigsegv

    +0

    20分後にメモリ使用量を確認しましたか? –

    3

    問題が見つかりました。

    ある意味では明らかでした。 SBCには、システムとメモリを共有するオンボードビデオコントローラがあります。共有されるメモリの量は、BIOSで設定できます。私は32Mbから64Mbに設定し、私の遅れの問題を完全に解決しました。

    珍しい状況では、誰かを助けてくれることを願っています。