1

今年の初めに、WebGLGapという実験的な PhoneGap プラグインを作成しました。理論的には、すべての JS 呼び出しをプラグイン コードに転送することで、PhoneGap アプリで WebGL サポートを有効にすることができます。残念ながら、Javascript とプラグインの間のブリッジが大きなボトルネックだったので、私はそれを断念しました。すべて (頂点データを含む) は巨大な文字列に文字列化され、プラグインに渡され、ネイティブ プラグイン コードによって読み取られるように JSON に戻されます。明らかに、これはかなり役に立たなくなりました。

しかし、PhoneGap 2.2 には新しいブリッジがあり、10 倍以上高速になる可能性があると読んでいます。正確にはどのように機能しますか?文字列化を回避しますか?ブリッジが十分に効率的である場合は、WebGLGap を再検討する価値があるかもしれません。

4

1 に答える 1

2

それはまだすべての文字列です。違いは、デフォルトが、XHR を使用してキューの読み取りをトリガーする XHR_NO_PAYLOAD ではなく、ヘッダーにパラメーターを指定して XMLHttpRequest を使用する XHR_WITH_PAYLOAD、または利用可能なより高速な方法の 1 つであるが、タッチ スクロールと競合する IFRAME_NAV であることです。 iOS 5 はサファリのバグによるものです。

XHR_WITH_PAYLOAD は、高速リクエストの処理に関するバグが修正された後 ( https://issues.apache.org/jira/browse/CB-1404 )、2.2 でデフォルトとして設定されました。ただし、この修正では、ブリッジがまだビジー状態の場合は少し遅い方法にフォールバックする必要があるため、通常の使用ではパフォーマンスが向上しますが、メインのレンダリング ループに入れたいものではありません。

このような特殊な要件の場合、カスタム ブリッジの方が理にかなっている可能性があります。大量のデータを転送するにははるかに優れた他の方法 (リクエストとレスポンスの両方に本文コンテンツを含む XHR など) を利用できますが、実際には機能しません。標準ブリッジのような一般的なソリューション。

于 2012-11-16T22:02:17.820 に答える