1

角度材料とGoogle Chartsを使用するApache Cordovaアプリがあります。後者の場合、私はここにあるディレクティブを使用しています:https://github.com/angular-google-chart/angular-google-chartmd-tabの視覚的パフォーマンスとGoogleグラフの指示/データの読み込み

このアプリケーションは、分析データを表示します。グラフは時間、日、週、および月ごとにグラフで区切られています。この分離のために、私はmd-tabsディレクティブを使用しています。それぞれにタブがあります。

技術的にはすべてが機能します。私は4つのタブを持っており、これらのタブの中に私はタブごとに2つのグラフを持っています。バックエンドAPIをクエリし、データをフェッチし、それを自分のグラフオブジェクトにバインドするコード設定がいくつかあります。彼らはデータをレンダリングし、すべて正常です。

...までユーザーはあるタブから別のタブに切り替わります。それは機能しますが、トランジションは滑らかではありません。私はそれがレンダリングの妨げになるシーンの背後にあるあらゆる種類のものをやっているからだと思います。ところで、これは私たちが話しているスマートフォンアプリです。今では、Cordovaアプリケーションからのネイティブレンダリングのパフォーマンスを期待できないことを知っていますが、これよりもうまくいくはずです。

これを改善する方法を探しています。たとえば、ビジュアルの移行が完了するまで、データロードを延期するのに良い方法がありますか?私は違いが秒でない限り、データをロードするには滑らかなUIを好む。私はまた、データがロードされている間にタブの内容をオーバーレイするローディング指示をしたいと思います。ユーザーがタブを切り替えるとすぐに、移行が新しいタブのローディングインジケータにスムーズに移行し、データがそこにありレンダリングされるまで表示されることが期待されます。

私はng-ifとng-showを使いこなしてみましたが、この種の助けになりましたが、なんとなくちょっと怪しい気がします。だから私はこれらのシナリオのいくつかのガイダンスを探していますが、いくつかのベストプラクティスや何かが必要でしょうか?これはまた、現時点では、私が既に持っているものに基づいた最適な解決策ではなく、最良の解決策を必要とする理由を共有しているわけではない(これはおそらく準最適である。

+0

チャートが表示される前に描画されていることが1つあります。チャートやグラフ領域のサイズが明示的に設定されていないと、描画時にグラフが正しく表示されません。 – WhiteHat

+0

@WhiteHatが同意します。チャートが表示されますだから簡単な修正はオプションオブジェクトに幅と高さを含めることでしょうか?そして固定率はパーセンテージよりも優れていますか? – Jasper

+0

右、固定、または特定のサイズを設定したくない場合は、タブが選択されるまで待って、グラフを描画する前に - > [例](http://stackoverflow.com/a/35868433/5090771) – WhiteHat

答えて

1

最近私はmd-tabに取り組んでおり、同様の問題が発生しました。私はを使ってみました。md-enable-disconnect = "true" md-tabs apiの実験的な属性です。私のために少しパフォーマンスが改善されました。あなたはこれについての小さな説明を下のURLから参照できます。これは、任意のプラットフォーム上でのパフォーマンスをレンダリング

https://material.angularjs.org/latest/api/directive/mdTabs

+0

ありがとう、間違いなくそれを試してみましょう。 – Jasper

+0

これは本当にLOTを助けてくれます。私の問題をほぼ完全に解決するので、答えとしてマークしてください! – Jasper

0

チャートを簡単にデータポイントの多数によって妨げことができますお役に立てば幸いです。ユーザーが実際に小さな低性能デバイスで表示して使用できるデータセットに多くのデータがある場合、データを消費する前にデータを要約することを検討してください。これによりレンダリングのパフォーマンスが向上する可能性がありもちろん、どのように要約するかは、データの内容とその使用方法に完全に依存します。

+0

はい、私はすでに考えて、それをやっています。残る質問:「たくさん」とは何ですか?私の時間グラフでは、60データポイント(毎分1つ)を送信します。私の毎日のグラフでは、それは24(毎時)、毎週= 7(それが変更されます)、毎月最大31です。私は思うべき問題ではありませんか? – Jasper

+0

これはかなり小さいですね。私は数十万点のデータポイントを図書館で利用していた人々と話をしました。そのレベルでは、すべてのデータポイントを見ることさえできず、実際には遅いです。 – nbering

+0

ええ、確かに非常に小さなフォームファクタでは、私はそうすることで利益を見ませんでした。 – Jasper

関連する問題