メインループの異常時間判定見直し
if (this.tick > (t+10000) || (this.tick+10000) < t) {
この「1回の更新に10秒かかっているようならタイマーのバグと判定」という処理だが、ちょっと悠長すぎる。
1秒くらいで十分。
本当は1秒でも長過ぎるくらいだが、500msecくらいは普通に起こりえる。
500msec以上更新に時間がかかるようなら、時間ベースの更新を諦めフレームベースにする、とかの解決策でも可。
ただスタンバイからの復帰などを想定してrefreshをしているので、フレームベースへの切り替えと強制refreshは分けて考えるべき。
2段階がいい?
500msecで時間単に諦め、5秒で強制refresh。
r161 にて対応。予定通り2段階判定にした。
500msecで時間単位諦めてフレームベース系更新に。10秒で強制リフレッシュ。
また、全体的にループのif文をすっきりさせたつもり。
if (this.tick > (t+10000) || (this.tick+10000) < t) {この「1回の更新に10秒かかっているようならタイマーのバグと判定」という処理だが、ちょっと悠長すぎる。
1秒くらいで十分。