.
TiddlyWiki 參考資料
.
如何避免 TiddlyWiki 變慢
2007-07 開始用 TiddlyWiki 製作每週的會議記錄, 從一開始的 500KB (TiddlyWiki 本身的 320KB 再加上外掛), 累積到現在 710KB 大約一百多篇 文章 (tiddler), 漸漸覺得 TiddlyWiki 有變慢的跡象, 主要發生在兩種情境 :
- 瀏覽器一開始載入 TiddlyWiki 的 HTML 檔案
- 編輯或新增任何一篇 文章 (tiddler)
.
上網搜尋關鍵字 TiddlyWiki Slow 之後, 發現兩篇文章 :
這兩篇文章的重點大致相同, 由此可知確實有人遇到『TiddlyWiki 變慢』的問題, 而且也已經有公認的解決之道。
經過實驗, 我會建議採用下面兩種作法 :
.
關閉『動畫顯示』---- disabling animations
『動畫顯示』的開關, 在 TiddlyWiki 右側邊欄的『偏好設定』, 而這一項也是我從一開始使用 TiddlyWiki 就採用的作法。
只是, 所有『偏好設定』都是存放在『瀏覽器的 Cookie』---- 包括『動畫顯示』在內 ----, 所以 換了一台電腦 或是 同一台電腦的不同瀏覽器, 或是 Cookie 遺失, 就得要再重新設定一次。
目前還在尋找『儲存在檔案裡頭』的『永遠關閉動畫顯示』 的設定, 以便一勞永逸。
.
不要顯示『最近更新』
『最近更新』也在 TiddlyWiki 的右側邊欄, 它會顯示依修訂日期排序的文章列表。而叫它『最近更新』其實有點『名不符實』, 因為它顯示的其實是依修訂日期排序的『所有文章列表』, 所以當文章數量變多時, 這個『最近更新』就會變成一條巨龍, 而且是『一條動態更新的巨龍』。不僅瀏覽器一開始載入 HTML 檔案時, 需要花不少時間撈出資料來排序出這一條巨龍; 而且編輯或新增任何一篇文章 (tiddler) 時, 也同樣要花時間來『動態更新這一條巨龍』。
所以, 前面提到那兩篇文章的建議都是『不要顯示最近更新』。而在作法上又可以細分成下面幾種 :
- 直接把『最近更新』和『全部』從右側邊欄拿掉
- 改變右側邊欄的排序, 使得一般場合顯示『預設文章』或其他內容
- 將右側邊欄的下半部『收合起來』, 需要時再打開 (詳情見 Tips for speeding … 的最末段)
.
比較 TiddlyWiki 載入內容的時間
為了比較每一種作法的改善幅度, 我依照 How big can my file get … ? 的說明, 打開後台選項, 讓 TiddlyWiki 顯示載入內容所花的時間
- 從右側邊欄的『偏好設定』開始,
- 點選『偏好設定』最下面的『進階選項』
- 勾選 選項表格 下方的『顯示未知選項』
- 勾選 chkDisplayInstrumentation
** 請留意這個設定是存放在『瀏覽器的 Cookie』 , 所以改了設定之後, 不一定要存檔, 只要關閉目前的 TiddlyWiki, 下次就會在右上角看到載入內容所花的時間,
=> 由測試結果可以得知 :
- 『最近更新』、『全部』、『分類』和『預設文章』都是 動態文章, 都需要一些額外的處理時間, 只是『分類』和『預設文章』內容較少, 所需的時間也比較少。
- 這些動態文章只有顯示的時候才會佔用時間, 所以它們只要不是預設顯示即可, 不一定要從右側邊欄刪除
- 如果以縮短載入時間為目的, 最好的方法是在右側邊欄的下半部顯示『靜態文章』或『收合起來』
| (1) 顯示『最近更新』(原始) | (2) 顯示『分類』 |
| | 直接把『最近更新』和『全部』從右側邊欄拿掉 |
| LoadShadows 4 ms LoadFromDiv 402 ms LoadPlugins 146 ms Notify 929 ms Restart 1223 ms Macro init 0 ms Total: 2720 ms | LoadShadows 6 ms LoadFromDiv 407 ms LoadPlugins 140 ms Notify 600 ms Restart 778 ms Macro init 0 ms Total: 1947 ms |
.
| (3) 顯示『預設文章』 | (4) 顯示『靜態說明』 |
| 保留『最近更新』和『全部』, 但是調換頁籤的順序, 讓載入時顯示『預設文章』 | 同左, 但是載入時顯示另外增加的『靜態說明』 |
| LoadShadows 5 ms LoadFromDiv 406 ms LoadPlugins 144 ms Notify 329 ms Restart 508 ms Macro init 0 ms Total: 1408 ms | - LoadShadows 5 ms
- LoadFromDiv 411 ms
- LoadPlugins 150 ms
- Notify 280 ms
- Restart 440 ms
- Macro init 0 ms
- Total: 1302 ms
|
.
(1) 原始的 SideBarTabs 如下
SideBarTabs :
<<tabs txtMainTab "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags "更多" "其他" TabMore>>
(2) 直接把『最近更新』和『全部』從右側邊欄拿掉 => 讓載入時顯示『分類』。
** 因為『分類』也是動態文章, 但內容較少, 所以稍省了一點時間。
SideBarTabs :
<<tabs txtMainTab "分類" "所有標籤" TabTags "更多" "其他" TabMore>>
(3) 保留『最近更新』和『全部』, 但是調換頁籤的順序 => 讓載入時顯示『預設文章』。
** 『預設文章』(『shadowed tiddler tab』或『Shadow Tiddlers』) 同樣還是動態文章, 但內容更少, 所以又再省了一點時間。
SideBarTabs :
<<tabs txtMainTab "更多" "其他" TabMore "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags>>
(4) 同(3), 但是載入時顯示另外增加的『靜態說明』
** "管理" 和前面的 "更多" 是同一個分頁, 被移到最前面當作預設的分頁, 叫它 "更多" 有點怪, 於是改名。另外再到 TabMore 增加一個『靜態說明』頁。
SideBarTabs :
<<tabs txtMainTab "管理" "管理文章" TabMore "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags>>
TabMore :
<<tabs txtMoreTab "說明" "參考資料" TW_HELP "未完成" "內容空白的文章" TabMoreMissing "未引用" "未被引用的文章" TabMoreOrphans "預設文章" "已預設內容的隱藏文章" TabMoreShadowed>>
.
加速 TiddlyWiki 運作的其他選項
底下還有其他 加速 TiddlyWiki 運作 的選項, 但『不見得適用於每一個人』就是了 ……
調整使用的套件 (plugin)
開啟『預設文章』- PluginManager, 可以看到每個 plugin 的大小和載入時間, 再依此調整使用的套件。在我自己這邊, plugin 載入時間 都在 0 ~ 5ms, 所以下面提到的『使用外部 js 檔的方式安裝套件』, 看來就沒有這麼迫切的需求。
文件體積822K,變得特慢
2.移除非必要套件、盡可能使用外部 js 檔的方式安裝套件
於 MarkupPostBody 宣告欲載入的套件:
<script type="text/javascript" src="/pathto/YourPlugins.js"></script>
.
調整存檔方式
偏好設定的『儲存備份』和『自動存檔』這兩項, 也會影響 TiddlyWiki 運作的效能, 但和『文件保全』比起來如何取捨, 就沒有一定的答案了。
.