議論/GUI高速化


Top / 議論 / GUI高速化

問題点洗い出し

こうすれば早い(どこまで妥協する?)

GUIサーバーの仕様

描画の遅さはバッファが多重になっているのと 部分描画がサポートされていないのが原因と考えられます。

再描画のMSG_GUISERVER_DRAWWINDOWは トップレベルウィンドウ単位での丸ごと再描画しかサポートされていません。 これを範囲指定できるように拡張すればかなり改善されるでしょう。

バッファの多重性は、double buffer(2重)どころかquadruple buffer(4重)になっています。

  1. ウィンドウごとのバッファ
  2. トップレベルウィンドウのバッファ
  3. 仮想VRAM(32bpp)
  4. 本当のVRAM

再描画がトップレベルウィンドウを経由するのは2の存在のためです。

わざわざ3を挟んでいるのは2つ理由が考えられます。

  1. 3→4でbpp変換を行うことでクライアントからはbppを隠蔽して常に32bppに見せ 処理を単純化する。
  2. VRAMへのアクセスは普通のメモリより遅いので、2→3への書き込みで変更があるときだけ3→4に転送することで、可能な限りVRAMへのアクセスを抑える。
    • この対策が有効かどうかはベンチマークをしてみて、差分チェックをせずに単純に転送する場合と比較する必要があります。

高速化に向けてできること

改善意見等

コメントはありません。 コメント/議論/GUI高速化?

お名前:

MENU

now: 7

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 5218, today: 1, yesterday: 0

添付ファイル: fileMonaLogo-332.png 467件 [詳細] fileMonaLogo.gif 439件 [詳細] fileMonaLogo-565.png 469件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:02 (3762d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.046 sec.