[問題] Camera的preview callback問題[解決]
大家好 ,
我在使用Camera preview的時候, CPU Loading很低, 大約在0%上下跳動,
但是只要設定setPreviewCallback的時候,
CPU Loading就會跳很高, 以我測試的板子來說(CPU 1GHz,單核),
大約在40%~50%左右,
我想請問
為什麼只是加一個callback function, 就會讓CPU Loading變這麼高?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.115.4
→
04/25 18:26, , 1F
04/25 18:26, 1F
I/O ? 是指相機一直在截取資料嗎?
可是如果單純相機截取就吃掉這麼多cpu loading很奇怪
推
04/25 18:28, , 2F
04/25 18:28, 2F
嗯 Log一直印出gc的畫面 我猜這是主因
→
04/25 20:56, , 3F
04/25 20:56, 3F
丟相機截取的資料嗎?
請問有什麼辦法可以讓CPU Loading下降?
因為我修改kernel 將相機的frame rate改成30fps,
cpu 會跑到80~90%,
但是我測試s2,相機也是30fps,他的cpu loading只有60%左右,
我猜雙核心跟時脈也是有關係, 所以有沒有什麼辦法可以解決這個問題?
※ 編輯: givemepass 來自: 61.62.45.126 (04/25 23:00)
自問自答一下, 上網找了很多資料,
我發現Log一值在gc, 因此就根據這個問題找到這個討論
http://code.google.com/p/android/issues/detail?id=2794
原來早在1.6的時候, 早已出現這個問題
而且目前這個問題還是存在(我是用2.3.3)
所以我又找到這篇文章解決目前的問題
http://nhenze.net/?p=349
原因出在Camera在callback的時候,
會將讀到的影像存到一個新宣告的陣列,
丟給callback function,
然後gc再把這個陣列回收,
持續重複這個動作, 就會造成大量cpu loading,
因此我照著上面的網頁去修改android_hardware_camera.cpp
重新燒錄filesystem,
cpu loading大幅下降,
而gc的訊息不再出現, 因此問題解決,
感謝大家的回應。
※ 編輯: givemepass 來自: 61.221.115.4 (04/26 11:24)
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章