TVI_LASTを使うと、要素数が多いとすごく遅くなります。 TVI_FIRSTに変更しあとでソートしなおすことで高速化します。
Patches: #857
サンプルファイルは [patchunicode:#1055] を参照してください。 手元の環境では倍の10万件でも4秒程度で表示されるようになりました。 10万件 sakura 2.3.0.0 Releaseだと90秒まっても表示されません。
PatchUnicode: #1055
・WM_SETREDRAWのFALSE/TRUEの追加 → 5%程度減っている気もするがCPU時間はほぼ変わらず ・LockWindowUpdate → CPU時間は変わらず ・LPSTR_TEXTCALLBACK/TVN_GETDISPINFO の組み合わせ → メモリ使用量は減るがCPU時間は若干増えるようだ
なお、ソートのときにWM_SETREDRAWの制御を追加しないと再描画がおかしいバグがあるようです。 条件の特定が難しくて、再現コードを載せられないのですが、1031のパッチを適用したサクラでCDlgFuncList.cppを表示してOnOutlineNofityを選択状態にしてソート順を変更すると、一番下の部分が再描画されません。
コンフリクト修正
[patchunicode:#1031]
PatchUnicode: #1031
再描画フラグ制御を追加してみた
https://sourceforge.net/p/sakura-editor/code/4154/log/?path=/sakura/trunk2/sakura_core/outline/CDlgFuncList.cpp
履歴を見ると、 [r4138][patchunicode:#1038] にWM_SETREDRAWの処理が入っていました。 v0_2で問題なさそうに見えます。
Commit: [r4138] PatchUnicode: #1038
すみません。CDlgFuncList::SortTreeのほうに追加した有りましたね。 昔だったので忘れてました。v0_2(またはそれの修正)でお願いします。
[r4156]でcommitしました。
Commit: [r4156]
Log in to post a comment.
サンプルファイルは [patchunicode:#1055] を参照してください。
手元の環境では倍の10万件でも4秒程度で表示されるようになりました。
10万件 sakura 2.3.0.0 Releaseだと90秒まっても表示されません。
Related
PatchUnicode: #1055
・WM_SETREDRAWのFALSE/TRUEの追加 → 5%程度減っている気もするがCPU時間はほぼ変わらず
・LockWindowUpdate → CPU時間は変わらず
・LPSTR_TEXTCALLBACK/TVN_GETDISPINFO の組み合わせ → メモリ使用量は減るがCPU時間は若干増えるようだ
なお、ソートのときにWM_SETREDRAWの制御を追加しないと再描画がおかしいバグがあるようです。
条件の特定が難しくて、再現コードを載せられないのですが、1031のパッチを適用したサクラでCDlgFuncList.cppを表示してOnOutlineNofityを選択状態にしてソート順を変更すると、一番下の部分が再描画されません。
コンフリクト修正
[patchunicode:#1031]
Related
PatchUnicode:
#1031再描画フラグ制御を追加してみた
https://sourceforge.net/p/sakura-editor/code/4154/log/?path=/sakura/trunk2/sakura_core/outline/CDlgFuncList.cpp
履歴を見ると、
[r4138][patchunicode:#1038]
にWM_SETREDRAWの処理が入っていました。
v0_2で問題なさそうに見えます。
Related
Commit: [r4138]
PatchUnicode:
#1038Last edit: novice123 2016-11-13
すみません。CDlgFuncList::SortTreeのほうに追加した有りましたね。
昔だったので忘れてました。v0_2(またはそれの修正)でお願いします。
[r4156]でcommitしました。
Related
Commit: [r4156]