Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

HoloLensでUWPの機能を活用する時のtips

570 visualizaciones

Publicado el

HoloLensでアプリケーション開発でUWPと組み合わせた実装を行う場合のスレッドの考え方の整理。

Publicado en: Software
  • Sé el primero en comentar

HoloLensでUWPの機能を活用する時のtips

  1. 1. HoloLensでUWPの機 能を活用する時の Tips MIYAURA @TAKABRZ1
  2. 2. 気持ちの自己紹介  HoloLensが日本発売されるまで一切Unity触ったことない人  Unity経験は「Cubeが最も優れたオブジェクトだ」ということをヴァー チャルアカデミーで教えてもらったレベル。  本職はSEで全くXR未経験者です。
  3. 3. 本日のお題 HoloLensで本気で開発するとおおむねぶち当たる(?)悲しい問題 「スレッド制御」
  4. 4. スレッドスレッドスレッドスレッド スレッドなにってひとのために 最近のCPUは頭がよく見た目1つですがコアを複数持っていて同時に並列で複数の処理が できます。 CPU コア コア コア コア 処理1 処理2 処理3 処理4 同時進行できる。
  5. 5. 今日説明する部分 なぜか特定の処理が スレッドで呼び出せない病 スレッドスレッドスレッドスレッド 処理1 処理2 処理3 処理4 ここでよく問題が起きます。 知らない場合永久にはまりこむことになるかもしれません。 CPU コア コア コア コア 変数A 0? or 1? 0 1 同時値を入れたら? 呼出せない!?
  6. 6. スレッドには種類があります。 ・メインスレッド アプリケーションを起動してからアプリを終了まで処理を実行するライン。 ・その他のスレッド 並列で処理する必要に応じてメインスレッドから呼出すライン メインスレッド Aスレッド Bスレッド Cスレッド アプリ起動 アプリ終了
  7. 7. ここであるルールが悩みの原因に。 そのルールとは。。。 メインスレッドの中しか 使えない処理がある ルールに乗っからないとエラーで落ちる。
  8. 8. ようやくここで本題の HoloLensでの問題
  9. 9. HoloLens開発で必要な要素  HoloLensはUnityで作ったものをUWPで出 力しアプリを作ります。
  10. 10. 先のルール覚えてますか?
  11. 11. HoloLensではこんなことになってしま います。 Unityのメインスレッドでしか呼べないUnity用の処理がある。 UWPのメインスレッドでしか呼べないUWP用の処理がある。 最大限機能を使うには スレッドに気を配らないといけない。
  12. 12. UnityからビルドしたUWPアプリケーション APPスレッド Unityライブラリ その他スレッド(Taskなどで別途実行) UIスレッド UWPライブラリ (UIスレッド専用) .NET/UWPライブラリ (共通で使えるもの) UWPライブラリ (UIスレッド専用) Unityライブラリ HoloLensのスレッド構造
  13. 13. 使う処理によってスレッドの切り替え が必要 Unity側のライブラリはAppスレッドで動かす  AppCallBacks.Instance.InvokeAppThreadメソッド  AppCallBacks.Instance.TryInvokeAppThreadメソッド UWP側のライブラリはUIスレッドで動かす  AppCallBacks.Instance.InvokeUIThreadメソッド  AppCallBacks.Instance.TryInvokeUIThreadメソッド
  14. 14. どれが専用の処理か?
  15. 15. 以下に関連する処理は注意 画面オブジェクトを扱う処理  テキストボックスやボタンへの値設定 デバイスを使う処理  カメラを操作する等 ファイルを扱う処理  ファイルのI/O等
  16. 16. 楽しいHoloLensライフを!

×