PMP是我進入職場的第一個產品
IC:TIDSC25 system:ITron
因為 這只是一個小系統 也是一個沒有mmu的chip
所以整個系統的架構 十分簡單
做UI這部份 會有一些東西是一定要考量的
1.自型 (有分向量字和點陣字)
2.OSD window可顯示顏色的多寡 (也許有些時候 有人會用到VIDEO window)
3.不同windows的優先順序 表現方式 有沒有alpha 是怎樣的alpha
4.widget的行為
5.page的行為
6.何時 malloc 何時Free
7.通常 UI都會用到圖檔 所以 可以解怎樣的圖檔 用軟體解 還是硬體解
8.還有OSD window的應用
9.頁面 要怎麼安排(有些人用xml或等等的方式 控制頁面 要有什麼icon 位置 大小)
在Linux 下 有很多free的GUI程式 因為這個產品很簡單 所以沒有用到那些軟體
之後 我會對我做過的軟體 或是研究過的GUI軟體 做一些比較 像是GTK,NanoX.... 這些軟體都有現成的widget所以也不用做 也會有default如何create 如何delete的流程
1.自型 (有分向量字和點陣字)
因為這產品很簡單 只要支持英文就好 所以只有放大中小三種點陣字
而字的顏色 就是由我們指定 調色盤 中的哪個顏色去填他摟
向量字(再補充)
那牽涉到字型就會有字集 還有編碼 的問題了
可以上網去找一些 support的字型
如果要中文化 會複雜的多~~
2.OSD window可顯示顏色的多寡 (也許有些時候 有人會用到VIDEO window)
這個chip OSD只支援256色 當時在用的時候 很辛苦
因為 所有的圖檔 都只能用256色的base來調教
而圖檔也只能盡量不要設計圓弧狀 因為會有鋸齒~~
之後做sigma的chip86系列 OSD都已經是ture color了
3.不同windows的優先順序 表現方式 有沒有alpha 是怎樣的alpha
有些時候 會運用一些技巧性的行為 來騙使用者
像是撥圖檔好了 這chip是軟體解圖檔 所以 有時候效能很慢
那可能就要再背景 先解好一張圖 等解好 在移到前景~~ 所以這時候視窗的控制很重要
或是 某些時候 需要有跑馬燈的行為 但是 希望只有字浮在視窗上 那就可以設定alpha值
把要透明的區塊 都填alpha值。
另一種alpha是視窗的alpha 當Video window在撥影片的時候 希望可以看到在OSD window上的UI那麼 我就把OSD window 整個設成alpha。
所有的運用 都是要和設計人員討論 不然她們設計出來的東西 不一定可以實踐在實際的UI面
這樣就很可惜了
4.widget的行為
widget的行為 比較簡單
就是一些 combo box , list file,button,text 等等 的行為,這是程式面的看法
再UI面就會轉成一些圖檔的變換,如 當選到一個botton ,botton可能就由白色變為黑色 這是使用者看到的視覺行為 也是我們一般被訓練認識的行為
5.page的行為
6.何時 malloc 何時Free
page的行為 User 看到的就是頁面的轉換摟
但是 page會管控一些流程的行為 會有一些記憶體處理的定義 要記錄 使用者對資料的改變
以這個案子來說 因為流程 很簡單
所以 再離開一頁的時候 我們就destroy他所用到的資源 並malloc下一頁所需的資源
有些設計 會有 上一頁 下一頁 也要記錄這些東西 並要把資料同步
說起來 好像很簡單 但是會有很多 使用者習慣 和觀念的問題
做UI最重要的是 對象 是人~~ 不是自己覺得這樣做 就是這樣做
7.通常 UI都會用到圖檔 所以 可以解怎樣的圖檔 用軟體解 還是硬體解
這個問題 應該是小問題啦
因為 可以選擇 自己可以解的格式 放進來
但是 有檔案大小的問題 因為 系統的flash的空間可能不是那麼大
做的image可能不希望太大
那如果有filesystem 可以把檔案存在DOM或是什麼裡面 只要開機需要的圖檔 也可
這也都是看設計 和看資源 反正 辦法是人想的摟
8.還有OSD window的應用
OSD window 有時候會要用到 什麼時候 要重畫哪些地方
或是當可不可以只畫x=?,y=?的地方 這些 在chip剛來的時候 都要測試
實際上OSD window上的影像 最後都是丟到系統framebuffer的位置 去顯示的
那 像是 圖檔要可以選轉 或是放大 縮小 有些可以用硬體做 有些只可以用軟體做
這些 也是要評估的 因為多媒體的產品 對此類的東西很龜毛
不能讓USER放進來的圖片 不能看 或是需要放大縮小 這 如果是軟體做 也需要花上不少的時間
當初 可花了不少時間在做這件事~~
9.頁面 要怎麼安排(有些人用xml或等等的方式 控制頁面 要有什麼icon 位置 大小)
這個產品 很簡單 所以 這個部份 全部都是寫死在page中
這樣是不太好的作法
因為 要調什麼東西 都要一頁一頁去改 要加一個icon 或是 換顏色 都只能工程師去做
又要重新compler 又要全部的code重燒 "客戶又不能換一個圖 自己看結果"
Loading都在我們身上瞜 尤其 美工 通常都很龜毛的~~
所以 最好的方法 就是弄個像xml或是什麼的paser的東西~~ 把這個介面做出來~~
前面規劃 辛苦一點 後面就輕鬆一點
做過UI的人 一定知道我再說什麼 哈哈
IC:TIDSC25 system:ITron
因為 這只是一個小系統 也是一個沒有mmu的chip
所以整個系統的架構 十分簡單
做UI這部份 會有一些東西是一定要考量的
1.自型 (有分向量字和點陣字)
2.OSD window可顯示顏色的多寡 (也許有些時候 有人會用到VIDEO window)
3.不同windows的優先順序 表現方式 有沒有alpha 是怎樣的alpha
4.widget的行為
5.page的行為
6.何時 malloc 何時Free
7.通常 UI都會用到圖檔 所以 可以解怎樣的圖檔 用軟體解 還是硬體解
8.還有OSD window的應用
9.頁面 要怎麼安排(有些人用xml或等等的方式 控制頁面 要有什麼icon 位置 大小)
在Linux 下 有很多free的GUI程式 因為這個產品很簡單 所以沒有用到那些軟體
之後 我會對我做過的軟體 或是研究過的GUI軟體 做一些比較 像是GTK,NanoX.... 這些軟體都有現成的widget所以也不用做 也會有default如何create 如何delete的流程
1.自型 (有分向量字和點陣字)
因為這產品很簡單 只要支持英文就好 所以只有放大中小三種點陣字
而字的顏色 就是由我們指定 調色盤 中的哪個顏色去填他摟
向量字(再補充)
那牽涉到字型就會有字集 還有編碼 的問題了
可以上網去找一些 support的字型
如果要中文化 會複雜的多~~
2.OSD window可顯示顏色的多寡 (也許有些時候 有人會用到VIDEO window)
這個chip OSD只支援256色 當時在用的時候 很辛苦
因為 所有的圖檔 都只能用256色的base來調教
而圖檔也只能盡量不要設計圓弧狀 因為會有鋸齒~~
之後做sigma的chip86系列 OSD都已經是ture color了
3.不同windows的優先順序 表現方式 有沒有alpha 是怎樣的alpha
有些時候 會運用一些技巧性的行為 來騙使用者
像是撥圖檔好了 這chip是軟體解圖檔 所以 有時候效能很慢
那可能就要再背景 先解好一張圖 等解好 在移到前景~~ 所以這時候視窗的控制很重要
或是 某些時候 需要有跑馬燈的行為 但是 希望只有字浮在視窗上 那就可以設定alpha值
把要透明的區塊 都填alpha值。
另一種alpha是視窗的alpha 當Video window在撥影片的時候 希望可以看到在OSD window上的UI那麼 我就把OSD window 整個設成alpha。
所有的運用 都是要和設計人員討論 不然她們設計出來的東西 不一定可以實踐在實際的UI面
這樣就很可惜了
4.widget的行為
widget的行為 比較簡單
就是一些 combo box , list file,button,text 等等 的行為,這是程式面的看法
再UI面就會轉成一些圖檔的變換,如 當選到一個botton ,botton可能就由白色變為黑色 這是使用者看到的視覺行為 也是我們一般被訓練認識的行為
5.page的行為
6.何時 malloc 何時Free
page的行為 User 看到的就是頁面的轉換摟
但是 page會管控一些流程的行為 會有一些記憶體處理的定義 要記錄 使用者對資料的改變
以這個案子來說 因為流程 很簡單
所以 再離開一頁的時候 我們就destroy他所用到的資源 並malloc下一頁所需的資源
有些設計 會有 上一頁 下一頁 也要記錄這些東西 並要把資料同步
說起來 好像很簡單 但是會有很多 使用者習慣 和觀念的問題
做UI最重要的是 對象 是人~~ 不是自己覺得這樣做 就是這樣做
7.通常 UI都會用到圖檔 所以 可以解怎樣的圖檔 用軟體解 還是硬體解
這個問題 應該是小問題啦
因為 可以選擇 自己可以解的格式 放進來
但是 有檔案大小的問題 因為 系統的flash的空間可能不是那麼大
做的image可能不希望太大
那如果有filesystem 可以把檔案存在DOM或是什麼裡面 只要開機需要的圖檔 也可
這也都是看設計 和看資源 反正 辦法是人想的摟
8.還有OSD window的應用
OSD window 有時候會要用到 什麼時候 要重畫哪些地方
或是當可不可以只畫x=?,y=?的地方 這些 在chip剛來的時候 都要測試
實際上OSD window上的影像 最後都是丟到系統framebuffer的位置 去顯示的
那 像是 圖檔要可以選轉 或是放大 縮小 有些可以用硬體做 有些只可以用軟體做
這些 也是要評估的 因為多媒體的產品 對此類的東西很龜毛
不能讓USER放進來的圖片 不能看 或是需要放大縮小 這 如果是軟體做 也需要花上不少的時間
當初 可花了不少時間在做這件事~~
9.頁面 要怎麼安排(有些人用xml或等等的方式 控制頁面 要有什麼icon 位置 大小)
這個產品 很簡單 所以 這個部份 全部都是寫死在page中
這樣是不太好的作法
因為 要調什麼東西 都要一頁一頁去改 要加一個icon 或是 換顏色 都只能工程師去做
又要重新compler 又要全部的code重燒 "客戶又不能換一個圖 自己看結果"
Loading都在我們身上瞜 尤其 美工 通常都很龜毛的~~
所以 最好的方法 就是弄個像xml或是什麼的paser的東西~~ 把這個介面做出來~~
前面規劃 辛苦一點 後面就輕鬆一點
做過UI的人 一定知道我再說什麼 哈哈
Comments