關於雙屏顯示的一些問題解釋

        今天客戶的問題又來了,對開啓和關閉雙屏顯示的時候會有閃屏現象不滿,這個問題以前我想去解決過,當時以爲是由於hal層中, 開啓和關閉雙屏的時候會blank屏幕導致,記得當時我把設置blank的ioctl注掉以後,然後又在內核中修改了一些代碼,終於能夠跑起來了。但是當我開啓和關閉雙屏的時候還是會出現閃爍的情況。然後我就想到了在切換的時候會去init ipu channel.所以就給客戶寫了一封郵件去解釋這件事情,同時還把以前雙屏顯示中的一些問題也做了解釋。記錄如下:


        嘗試了一下在開關後排的時候不去關閉(blank)屏幕,結果發現屏幕還是會閃爍,分析後得知原因是:對於屏幕顯示,在cpu上內都會有一條顯示通道(channel)用來傳輸數據,
在開啓和關閉啓和關閉後排的時候,顯示屏驅動中會根據新的配置重新初始化這些顯示通道(這步是必須要要的),屏幕閃爍就是由於上一步操作導致的。初始化顯示通道是必須的。
        對於在關閉後排之前關閉屏幕背光的操作也做了嘗試,發現這樣屏幕看起來會更加閃爍,因爲在關閉背光後沒多久就需要重新打開背光,這樣一黑一白就看起來更閃了。
        打開攝像頭的時候需要關閉後排視頻輸出,如果不關的話攝像頭的圖像就會顯示到後排顯示器上面,這也是播放視頻時視頻會顯示在後排一樣,視頻顯示和攝像頭顯示走的同
一個channel[這也是改不了的,freescale的顯示架構所致].
        這邊還得說一下爲什麼視頻開啓後排視頻輸出的時候,視頻或者camera圖像只能顯示在後排的原因。這是因爲freescale硬件就是這麼做的,cpu內部的IPU模塊(Image Process Uint)【圖像處理單元】可能承受不了視頻在前後屏同時解碼。前面說的都是硬件去解碼,不能實現前後屏同時顯示視頻。
        但如果真的要讓視頻在前後排同時顯示,也是可以的,但是代價挺大的。我在終端上裝過一個視頻播放器(rockplayer)這個播放器支持硬解和軟解兩種方式播放視頻,當我用
軟件解碼方式播放視頻的時候,前後屏是可以同時顯示視頻的,但是cpu的利用率確實相當的高,達到了90+%了,這樣很容易會導致cpu溫度過高,所以軟解的方法也行不通。

        對於屏幕下方會有一條白線閃爍,從底層找不到什麼原因,上層也不清除,不知道和UI有沒有關係??



本想傳兩張圖的,卻告訴我

you do1t have permission to upload pictures because you registered for less than a week

窘,這個帳號註冊還不到一週。。。圖傳不了。


發佈了24 篇原創文章 · 獲贊 19 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章