Menu

#1056 アウトライン解析ツリー表示の高速化

None
closed
nobody
None
5
2016-11-27
2016-04-24
Moca
No

TVI_LASTを使うと、要素数が多いとすごく遅くなります。
TVI_FIRSTに変更しあとでソートしなおすことで高速化します。

1 Attachments

Related

Patches: #857

Discussion

  • Moca

    Moca - 2016-04-24

    サンプルファイルは [patchunicode:#1055] を参照してください。
    手元の環境では倍の10万件でも4秒程度で表示されるようになりました。
    10万件 sakura 2.3.0.0 Releaseだと90秒まっても表示されません。

     

    Related

    PatchUnicode: #1055

  • Moca

    Moca - 2016-04-24

    ・WM_SETREDRAWのFALSE/TRUEの追加 → 5%程度減っている気もするがCPU時間はほぼ変わらず
    ・LockWindowUpdate → CPU時間は変わらず
    ・LPSTR_TEXTCALLBACK/TVN_GETDISPINFO の組み合わせ → メモリ使用量は減るがCPU時間は若干増えるようだ

    なお、ソートのときにWM_SETREDRAWの制御を追加しないと再描画がおかしいバグがあるようです。
    条件の特定が難しくて、再現コードを載せられないのですが、1031のパッチを適用したサクラでCDlgFuncList.cppを表示してOnOutlineNofityを選択状態にしてソート順を変更すると、一番下の部分が再描画されません。

     
  • Moca

    Moca - 2016-09-27

    コンフリクト修正

     
  • novice123

    novice123 - 2016-11-06
     

    Related

    PatchUnicode: #1031

  • Moca

    Moca - 2016-11-07

    再描画フラグ制御を追加してみた

     
  • Moca

    Moca - 2016-11-13

    すみません。CDlgFuncList::SortTreeのほうに追加した有りましたね。
    昔だったので忘れてました。v0_2(またはそれの修正)でお願いします。

     
  • novice123

    novice123 - 2016-11-19

    [r4156]でcommitしました。

     

    Related

    Commit: [r4156]

  • Moca

    Moca - 2016-11-27
    • status: open --> closed
    • Group: -->
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.