日別アーカイブ: 2014年7月18日

Android Wear 3D のアナログ時計 (Watch Face)

OpenGL ES 2.0/3.0 でウオッチフェイスを作ってみました。
3D で動きまわります。

imclock01.jpg
imclock02.jpg

Google Play “3D imclock for Android Wear”
3D imclock

● Install 方法

連動している Smartphone/Tablet (Handheld 端末) にインストールします。
Android Wear (Wearable 端末) にも自動的に転送が行われます。

● 時計の切り替え方

時計画面の長押し、またはメニューから変更できます。
メニューの「設定」から「ウオッチフェイスの変更」

● 描画更新について

Android Wear はスリープ中も時計表示が可能ですが、
バッテリー消費を抑えるために描画の更新速度が大幅に遅くなっているようです。
およそ 1分間隔の更新となっており、それ以外は止まっています。

・通常時 60fps
・スリープ中 0.016fps

内蔵の Watch Face がスリープ中に秒の表示を消している理由がわかりました。

ただし adb で接続している間は別で、画面が暗くなっても完全には停止せずに
描画更新が行われています。
デバッガの通信のために本当の意味でのスリープに移行できないためだと思われます。
USB 接続、Bluetooth 経由の adb 接続どちらでも同じでした。

また作っていて気がついたのですが、
Bluetooth 圏内の場合はスリープへの移行に若干タイムラグがあります。
画面が暗くなったあともしばらくは描画更新が続いており、
連動端末と何らかの通信が行われている可能性があります。

Bluetooth 非接続の場合は特に何もすることがないので、
スリープに入るとすぐに描画更新が停止してしまうようです。

このアプリは平常時 30fps で動作しています。
スリープ中はアニメーションできないので、秒針を消すと同時に
基準の位置に戻す処理を入れています。
ただし Bluetooth 圏外では完全に戻りきる前に画面が止まってしまう場合があるようです。

オリジナルの Windows 版はこちら 3D IM-clock

関連エントリ
Android Wear の 3D 描画 と NDK r10
Android Wear にゲームを移植
Android Wear LG G Watch (LG-W100) の速度(実測)
Android Wear LG G Watch (LG-W100)
Android Wear LG G Watch の GPU