読者です 読者をやめる 読者になる 読者になる

ピティナ開発者ブログ

全日本ピアノ指導者協会のIT担当者が気まぐれにつづる技術系中心のブログです


FileMakerのレイアウト表示速度をオブジェクトごとに比較検証_その2

つづきです

Hiroyuki Noguchiです、前回からの続きになります。

ptna.hateblo.jp

前回の最後に予告した通り、テキスト関連以外の表示についても検証を進めていきます。
具体的には、一般に「重い」とされる、以下4つについて。

  • WEBビューア
  • ポータル
  • タブ
  • スライド

「通常フィールド」が置いてある状態で、加えて上記のオブジェクトを追加設置します。
検証方法についても、前回に同じくです。

WEBビューア

ではまず、WEBビューアについて。
これ、いかにも重そうですよね。
セットする値はGoogleMapにしておきます。

f:id:ptna_it:20161107183702p:plain

スクリプト実行。

f:id:ptna_it:20161108145444p:plain

24.5秒。あれ、思ったより重くないですね。
通常フィールドだけ置いてある状態から比較して、3秒くらいしか加算されていません。

というのも実は、FileMakerがレイアウト上にWEBビューアをレンダリングするのは、WEBビューアというオブジェクトを表示するまでしか責任をとらないからであって、その先の処理は、WindowsならInternetExplorer、MacならSafariにお任せ、となるからなのですね。
ですから、実際に画面上にGoogleMapが表示されてくれるようになるには、だいぶ待ち時間がかかります。

とはいえ、まあ、オブジェクトとしては、実はそんなに重くないのですね、WEBビューアは。

ポータル

続いて、ポータルです。
これも、いかにも重そうです。

ポータル設置するために、どうでもいい関連テーブルオカレンスを作ります。

f:id:ptna_it:20161107183713p:plain

何ともやる気の無い自己リレーション。
で、ポータルを設置します、ポータル内にフィールドの設置はおこないません。

f:id:ptna_it:20161107183709p:plain

そしてスクリプト実行。

f:id:ptna_it:20161108145933p:plain

26.8秒。おお、WEBビューアより重い。
でも、思ったほどには重くない?

しかし、ポータル設置する場合には、必ずこれに加えてフィールドを置いていくことになるので、それらの重さが加わっていき、トータルではなかなかのものになっていきます。
ポータル設置は要注意です。

タブ

さて、本命です、タブコントロール
まずは、タブの数を1つにしておきます。

f:id:ptna_it:20161107183705p:plain

スクリプト実行。

f:id:ptna_it:20161108150209p:plain

27.0秒。いきなりなかなか重い。

そして、タブっていうのは、1つで使うことは有り得ないので、複数に増やしてみましょう。
試しに5つ。

f:id:ptna_it:20161108150259p:plain

38.4秒。跳ね上がった!!
まさかここまで跳ね上がるとは。

では、10に増やしてみるとなると……?(レイアウトのキャプチャ画像は省略)

f:id:ptna_it:20161108150425p:plain

51.0秒。うん、だいたい、1つのタブが増えると、2秒以上増える感じですかね。
タブは重い重いと思っていましたが、まさかここまでとは。

スライド

では最後に、タブと同じような機能で、モバイル向けに便利なスライドコントロールに進みます。
こちらもまずは、スライド1つから。

f:id:ptna_it:20161107183704p:plain

スクリプト実行。

f:id:ptna_it:20161108151043p:plain

23.3秒。お!? 速い?

続けて、スライドの数を5つに増やしてみます(レイアウトのキャプチャは省略)

f:id:ptna_it:20161108151217p:plain

24.4秒。速い。負荷がほとんど変わっていない。
では、スライドの数を10にしてみると?(普通はそんなことしませんが)

f:id:ptna_it:20161108151305p:plain

25.7秒。おお……

つまり、数を増やそうとすればするほど、タブよりスライドの方が負荷が減ってイイ感じになりますね。
このあたりはさすが、スライドがそもそものところでモバイル向け、FMGo向けに作られたオブジェクトというだけありますね。

まとめ

ということで、まとめます。

(タブ/スライドの)数 速度(秒)
通常フィールド(ラベルなし) 21.8
WEBビューア 24.5
ポータル 26.8
タブ 1 27.0
5 38.4
10 51.0
スライド 1 23.3
5 24.4
10 25.7

一番軽いのは、スライドでした。
数を増やしていっても、そんなにレンダリング速度に影響は受けません。
もちろん、これに各種フィールドオブジェクトを載っけていくので、重くなるはなるのですが、それ自体が重いタブの比ではありませんね。

タブは、5つくらいのものなら気軽に置いてしまいがちですが、そのぶんがっつり重くなります。
あまり多くのタブを置かないといけないようであれば、いっそ、別レイアウトに切り分けるというのも検討してよいかなと思います。

以上、設置するオブジェクトごとの速度検証でした。
パフォーマンスを気にするあまり、不便なものを作り上げてしまうのは御法度です。
が、「FileMaker開くの重いなーーー」という不満が出ているようであれば、このあたりのチューニングはかっちりやってみると良いと思います。

次のネタ構想

レイアウトテーマによって、表示速度がどう変わるのかなーというのを検証してみたいと思います。
テーマに従ったスタイルを適用していくのではなく、オブジェクトごとにスタイルをカスタマイズしてしまうと、どれくらい遅くなるのか!?など。

(著: Hiroyuki Noguchi)
この記事は現在0人が閲覧中