More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Eric TsaiPhotosProfileFriendsMore Tools Explore the Spaces community

Eric Tsai

June 12

Compro E900F配ComproDTV 4.2.3.4的測試

於Vista X64上,1數位+1類比的測試。硬體我很滿意,但是軟體還有很大的改進空間。用硬壓的CPU使用率果然很低(E6550 + 8500GT with latest driver)。
 
 
數位電視大家都一樣,所以看看有線電視的畫質(使用預設設定):
    
 
如果要搭Windows Media Center用的話,由於Media Center只能選擇其中一種訊號類型,像我是接兩種訊號,就必須把Media Center要用的那種訊號接在Tuner 2的位置,不然Media Center的Live TV會顯示錯誤訊息。
另外我無意間發現一個祕技,不用進入選項設定就可以切換預設的Tuner。只要將另一個Tuner的電視畫面開在新的子視窗中,然後在子視窗的畫面上用滑鼠左鍵點兩下,母子視窗的畫面內容就會交換,此時也會順便更改預設的Tuner。
如果覺得類比電視的畫面有點糊,我建議可以把"去除交錯運算等級"設為0,不過這樣做會有因交錯式畫面而在移動物體邊緣產生毛邊的現象。但是在我的環境下我覺得只要設為1,畫面就會明顯糊很多,所以我選擇接受毛邊。

 
缺點(有些跟E900F無相依關係,是ComproDTV 4本來就存在的問題),並附上康博客服的回應:
  1. 主畫面設為顯示數位電視時程式反應不順,很多動作都會頓住幾秒。例如滑鼠左鍵按住持續移動畫面,移動個五秒十秒就會頓一下。開啟右鍵選單也常常會頓,在選項畫面中改設定也頓的很嚴重。 發生這種問題的時候,CPU使用率並沒有突然增加。 H900搭配tdnj釋出的ComproDTV 4.2.x.x (http://blog.pixnet.net/tdnj/post/12804177)或是主畫面設為顯示有線電視則沒這個問題。 不管主畫面顯示哪種訊號,按下Alt+F4想關閉程式是都要等約六秒鐘才會關掉。
  2. 類比電視錄影無法用MPEG4硬壓會出錯(http://www.pixnet.net/photo/fa18e/92735349)。
    此問題已修正(http://www.comprousa.com/tw/download/e900.html),解壓縮後以系統管理員身分執行即可。
  3. 不明情況下類比電視會只有聲音沒畫面。開始錄影時就會有畫面,停止錄影後又會沒畫面。啟用"Preview TV by Hardware Encoding"後也會有畫面,將之停用可能又會沒畫面,多重複幾次,有機會讓類比電視為持有畫面的狀態。
    Response: 此問題目前我們正在進行測試,初步看來並無問題,但我們將陸續新增一些軟體行為的測試,以便找出問題之原因並改善
  4. 子視窗的功能太不齊全:
    • 子視窗的右鍵功能表功能太貧乏,只能上一台下一台慢慢轉,至少應提供頻道列表及音軌設定。
       
    • 控制面板只能用於主畫面,應該想辦法顯示更多子畫面節目的相關資訊,目前面板只能顯示主畫面節目的資訊。
    • 母子視窗最好要可以分別focus,根據目前的focus來判斷鍵盤按鍵要傳給哪個畫面,用鍵盤操作總是比較快速。控制面板即可顯示目前獲得focus的視窗的節目資訊。
    • 子視窗中的畫面無法用使用右鍵選擇局部範圍放大。 
    • 子視窗中的數位電視頻道沒有EPG功能。
    Response: 關於使用介面和軟體功能的部分,我們會將您的建議列入考量,讓產品往更直覺化和容易使用的方向發展
  5. 選項設定畫面應重新設計,讓數位及類比的項目可以同時設定,且設定時不能影響節目觀看。
    目前只能依據根據選項-頻道裡面所選的訊號類型做設定。要更改另一種訊號的設定必須先在選項-頻道更改訊號類型(做這個動作超級慢.......)並確定後重新進入選項畫面才能看到該訊號類型特有的設定,而且此動作會影響到目前正在收看的節目。訊號類型從數位電視改成有線電視的時候,聲音都會自動變成單聲道,亮度對比等設定有時也會跑掉(比較下面兩張圖就知道,我根本沒去動它就自己變了),必須手動恢復預設值。若類比電視是開在子畫面中的話,根本無法確定目前是用單聲道或雙聲道。
    Response: 關於使用介面和軟體功能的部分,我們會將您的建議列入考量,讓產品往更直覺化和容易使用的方向發展
     
  6. 數位電視錄影無法使用使用MPEG2之外的編碼器,不知道是不是我誤解了這張卡的規格。
    Response: 數位電視訊號經電視卡處理後已是mpeg格式,ComproDTV並無將mpeg2即時轉檔的功能我們已知市面上有少數之電視軟體有此功能,但由於一些硬體或軟體的限制,邊錄邊轉檔的畫質通常不好
  7. MPEG4硬壓是用DivX,而非我期待的H.264。
    Response: 由於晶片規格之限制,mpeg4硬壓只能使用DivX
  8. 硬壓的設定介面可自訂bitrate,但實際上沒有作用,自訂bitrate只有用軟壓的時候對錄影結果才有影響。MPEG4硬壓有問題,畫質明顯較MPEG2硬壓差,另外跟我平常用H.264壓數位電視相比,bitrate用2Mbps畫面就已經很好了,MPEG4硬壓的bitrate約是3Mbps,畫質卻明顯較差。Interlace video選項也對MPEG2/MPEG4硬壓無效,只對軟壓有效。
    Response: 關於Bitrate的問題,我們已安排相關測試以便釐清問題之所在,若為軟體問題則將在新版軟體中修正。由於硬體功能限制,Interlace video選項對於mpeg2,4硬壓無效
     
  9. 若勾選"隱藏邊框",母子畫面就注定連在一起了。因為子畫面必須按住上方邊框才能拖離母畫面。
    Response: 這屬於軟體的bug,我們將會修正這些問題
  10. 要停止錄影時若是處於靜音狀態,靜音會暫時失效,然後才又恢復靜音。
    Response: 這屬於軟體的bug,我們將會修正這些問題
  11. 若將ComproDTV設為開啟時顯示TV1,增加視窗的功能會無法選擇Composite/S-Video/YCbCr輸入,只能增加有線電視/天線/DVB-T。
    Response: 此為電視卡的硬體限制,並非原來提到的是電視軟體的bug
  12. 使用自訂Aspect Ratio時,變更視窗寬度(高度)時,高度(寬度)會跟著改變(非依照事先設定的比例縮放)。建議改成拖曳角落時才會變更比例,拖曳旁邊不變更比例,不然調整視窗大小並維持自定比例很麻煩。
    Response: 這屬於軟體的bug,我們將會修正這些問題
  13. 數位電視開始錄影和停止錄影所需的時間明顯較類比電視長。大概要五六秒才能開始或停止,類比的只要一兩秒。
    Response: 於錄影數位電視時,由於軟體需要重設一些基礎設定,且數位鎖頻速度較類比電視慢,故整體而言反應會比類比電視錄影慢
  14. ComproDTV在Windows鎖定時無法錄影。我因為這個問題少看好幾個電視節目了。

 

相關討論可至ComproDTV 技術論壇觀看。

May 13

WaitHandle.WaitAll無法處理長度超過64的陣列

當有一些大量計算可以multi-thread同時做的時候我喜歡用ThreadPool.QueueUserWorkItem丟下去跑。無論是用ThreadPool或多個Thread,有時需要等待那些計算全部完成才能繼續做後續動作,這時就可以用一個ManualResetEvent的collection搭配WaitHandle.WaitAll。然而WaitHandle.WaitAll在陣列元素超過64個的時候就會發生NotSupportedException
還好WaitHandle.WaitAll做的事情其實很簡單,我們可以自己寫一個function來做。以下是一位C# MVP William Stacey提供的一段WaitAll程式碼
        public static void WaitAll(WaitHandle[] handles)
        {
            if (handles == null)
                throw new ArgumentNullException("handles");
            foreach (WaitHandle wh in handles)
            {
                wh.WaitOne();
            }
        }
May 02

ASP.NET AJAX 循序執行

ASP.NET AJAX預設如果在前一個動作還沒做完時就引發第二個動作,會把前一個動作直接中斷並執行第二個,造成程式碼常常會有一些奇怪的錯誤。網路上有人把它改寫成把動作放到queue中,依序執行。
只要在aspx中引用下面文章中提供的PageRequestManagerEx.js並呼叫PageRequestManagerEx.init()即可。

放在 UpdatePanel 中的 TreeView 效能很差

最近需要用到好幾MB的TreeView,展開時要自動更新TreeNode內容,結果在展開時慢到IE都會跳出來問我要不要中止script的執行。在網路上努力的找了一下資料,運氣不錯發現不久之前剛好有人提到原來要把TreeView的EnableClientScript屬性設為false。不過我後來還是更進一步把ChildNodes改成動態產生,減低所佔的空間就是了......
 
順道一提,IE是以不是以時間判斷script執行時間過久,而是以執行了多少個statement來計算。如果要修改預設的statement數量限制可參考:How to set time-out period for script
View more entries
 
Updated 6/17/2008
Updated 4/8/2007
Updated 3/12/2007
Updated 8/31/2006
Updated 3/12/2007
Updated 3/12/2007
Updated 7/15/2006
Updated 1/2/2007