qmetro metro

jit.gl.renderの使い方を色々調べていたら、qmetroというオブジェクトの存在に気付きました。役割的には、metroとほとんど変わらないっぽいってこところまでは、英語を読んで分かったんだけど違いについては全然分からなかった。

で、調べてみると、どうやらqmetro = metro + jit.qball ということらしい。
といっても分からないですよね。

どういうことかと言うと、映像をレンダリングするときとかに、metroが5ミリ秒ごとにbangメッセージを送っているとして、jit.gl.renderオブジェクトがレンダリングに20ミリ秒かかるとすれば、jit.gl.renderオブジェクトは最初のbangを受け取ってレンダリングしている最中にまた次のbangを受け取ることになってしまい、これでは処理が追いつかなくなってしまいます。

それをqmetroの場合は、jit.gl.renderのレンダリングが終わるまでに、jit.gl.renderに届いてしまったbangメッセージは、全て破棄して、レンダリングが終わるまで待ってくれるという何とも心優しいオブジェクトなのです。

簡単に解釈すると、
metro : 厚かましくて強引。割り込むタイプ。
qmetro : 優しい。相手のペースに合わせるタイプ。

という感じでしょうか。

詳しくはコチラコチラ