For my project, I used a Saberlite to decode some HD video ( H264 / High@4.0 / 1920x1080 /25fps ) and to do some other stuff during the video play, I do this using android 4.2.2 , and I m very surprised with two things :
- first the chip is very hot :
When using the magical command in a adb shell : while true; do cat /sys/class/thermal/thermal_zone0/temp; sleep 1; done;
It's give me a temperature of 85°C at the end of the video.
=> And I observe this fact with all my Saberlite, and with a RM3 ( blueship device ).
- second : the video could be a little slow, the hardware decoder get some hard time to decode and to show all the frame. Where are all the horse power ! ( I don't exclude some bad coding stuff from my part, but the video is well decode on some others plateform ).
Under linux os, the video is decoded well and the chip is very hot too.
=> So, is this normal for the chip to have such temperature, I don't want to have some premature aging.
=> Is the vpu android really well integrated for the video ? could we wait some new release to have something more powerful under android os ?
Thank in advance for your answers !
what you say sounds really strange. I just test "big buck bunny" in Android 4.3: extra power consumption is around 1.5/2W and temperature raises only upto 60º-65ºC using a iMX6Q5 (commercial package) . Sabrelite uses an insdustrial or automotive package so should reach less temperature.
The only way we have tested our custom boards raising high temperature is running a GPU benchmark when the CPU and GPU temperature reach the threshold. Playing not hardware accelerated video also consumes a lot of power but under our experience VPU doesn't consumes so much power.
BTW: I just delete the download link of "big buck bunny" because my reply was labeled as "waiting for moderators approval".:smileyconfused:
In our experience with the iMX6, they do get very hot during GPU/VPU intensive tasks. You will need to properly heat sink your final product.
When you see the video is slow, you should check your serial port output or 'dmesg' to see if you have kernel logs indicating you reached the temperature threshold. When the thermal driver reaches the temp threshold, it will start to scale CPU and GPU clocks in order to cool itself down. When the clocks are scaled it will severely impact performance.