Toybrick

标题: android 7.1 native使用opengl渲染,cpu占用高 [打印本页]

作者: moyhu    时间: 2020-11-6 16:37
标题: android 7.1 native使用opengl渲染,cpu占用高
在native层用opengl渲染yuv数据,调用glTexImage2D接口传入数据,cpu占用率会提高10%左右,注释掉则不会,如果这个接口里面只是单纯做拷贝应该不会这么高。而且开启mpp h264的编码工作之后,渲染效率会降低很多,1920x1080从1秒30帧降到1秒10帧,增加日志查看耗时基本上是阻塞在glTexImage2D调用。
1、自己的apk里面没有opengl库,运行的时候应该就是链接rk的库,rk封装的opengl是用gpu计算的吗,有没有办法降下cpu?
2、h264编码影响到opengl的工作,有没有解决的办法?

作者: moyhu    时间: 2020-11-7 11:10
把多个地方注释发现,降低渲染帧率的地方不是编码,而是本地摄像头画面的预览,用安卓的surface开启预览之后,自己的渲染帧率就降下来了
作者: leok    时间: 2020-11-11 09:37
1、封装的opengl?  opengles吧,理论上cpu不会太高;
2、编码不影响gl,用的不同ip核
作者: leok    时间: 2020-11-11 09:40
moyhu 发表于 2020-11-7 11:10
把多个地方注释发现,降低渲染帧率的地方不是编码,而是本地摄像头画面的预览,用安卓的surface开启预览之 ...

关于这个问题,可以做几个实验,从文件里头读视频数据,送编码,然后存文件;把几个步骤拆分,先不显示,再逐步把显示加进去。分析问题点具体在哪里。
作者: leok    时间: 2020-11-11 09:45
另外,glTexImage2D有替换接口,可以实现零拷贝,具体请网络上查找
作者: moyhu    时间: 2020-11-11 09:54
leok 发表于 2020-11-11 09:45
另外,glTexImage2D有替换接口,可以实现零拷贝,具体请网络上查找

能不能说下接口名字,对opengl不是很了解,还有请教下,rga yuv转rgb,都是planar模式吗,用rgb播放器渲染出来都是几个黑白小画面显示




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3