顯示具有 optimization 標籤的文章。 顯示所有文章
顯示具有 optimization 標籤的文章。 顯示所有文章

12/05/2006

FlashPlayer 之加速 2

1. OnTimer() -> UpdateScreen() -> DrawScreen()
2. SYSFONT 會減慢速度,因為每次 UpdateRect() 都會 TestDeviceFont()。
3. DISABLE_FOCUS_RECT 在 UpdateRect() 中,若取消可加速,但應該不多,只是少個判斷式。
4. 關於 Mouse Cursor 的相關函數都可以取消以加快速度,目前反正沒 Mouse。

另外應呼叫 BlinkCursor() 來更新 Cursor。

FlashPlayer - raster 對速度影響

在做一些 Flash 動畫效果時發現了一個有趣的現象,
即使兩個變動的區塊 (Rect) 大小相同,但寬形的區塊
會比長形的區塊要快,我想是因為 FlashPlayer 是以 raster
方式來做運算的,較多的 raster (長形) 處理會較慢。

這點倒是可以加入最佳化的考量中。

(當然,在快速的機器中是很難發現這個結果的。)

另外也想到了一個重點,也許重新對 data 處理 alignment 可
以加速單一指令運算的速度。目前尚未看到 FlashPlayer 程式
中有對 alignment 處理。但對支援 SIMD 的機器倒是有做 Assembly
Level 的最佳化。
關於 Glibc malloc 的 alignment 可以參考這。
http://www.delorie.com/gnu/docs/glibc/libc_31.html