[GGH4.X-5.X] APIラッピング方式 (GG) とスクリーンスクレーピング方式 (他社製品) を比較した場合,描画パフォーマンスに差異が無いと聞いたが,その通りなのか?
技術ノート
2015/09/02
[番号]
技術ノート KGTN 2015082601
[現象]
[GGH4.X-5.X] APIラッピング方式 (GG) とスクリーンスクレーピング方式 (他社製品) を比較した場合,描画パフォーマンスに差異が無いと聞いたが,その通りなのか?
[説明]
いいえ,そうではありません.
スクリーンスクレーピング方式 (他社製品) では,サーバー側での描画命令の発生と同期することなく,クライアント側に所定の間隔で画面の差分データが転送します.このためピークを持たない比較的平坦で長い通信が発生します.ユーザー数が増えた場合,各セッションの長い通信の上に他のセッションの長い通信が積み重なる形になりますので,ユーザー数の増加とともにパフォーマンスが低下します.さらに,視覚的にパフォーマンスが良いように見せるため,先ず粗い画面の差分データを転送し,その後に本来の解像度の画面の差分データを転送することがあります.この機能が適用された場合,本来のデータの転送に加え粗い画面のデータも転送されますので,トータルの通信量も増えることになります.
APIラッピング方式 (GG) では,サーバー側での描画命令の発生と同期して,クライアント側にその描画命令 (正確に言えば仮想描画命令) を転送します.このため描画処理が発生した瞬間にピークを持つ短い通信が発生します (その後は殆ど通信が発生しません).ユーザー数が増えた場合,この間隔が長いピークとピークの間に別のセッションのピークが配置される形になりますので,描画パフォーマンスの低下が極めて低く抑えられます.もちろん, (サーバー側での描画命令の発生と同期してクライアント側に描画命令を転送するため) 粗い画面のデータを送る必要もありませんので, トータルの通信量が増えることもありません.
この情報は,大規模案件のお客様が実施なさった数ヶ月に及ぶ事前調査の結果を参考にしております.