工具与软件:
您好、TI 专家
HW :tda4ven 板
软件配置:sdk10.0
TDA4VEN GPU 仅调用 gClear 接口、DDR 带宽最多占用2.2G。
为什么它会占用这么多、我们需要您的支持来帮助优化它
gclearcolor (0.0、0.0、1.0、1.0 );
gCLear(GL 颜色缓冲位 i GL 深度缓冲位);
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好、TI 专家
HW :tda4ven 板
软件配置:sdk10.0
TDA4VEN GPU 仅调用 gClear 接口、DDR 带宽最多占用2.2G。
为什么它会占用这么多、我们需要您的支持来帮助优化它
gclearcolor (0.0、0.0、1.0、1.0 );
gCLear(GL 颜色缓冲位 i GL 深度缓冲位);
您好、 Sarabesh:
请查看以下有关 DDR BW 差异的摘要。
diff -- git a/kernels/sample/a72/vx_OpenGL_mosa_target.c b/kernels/sample/a72/vx_OpenGL_mosae_target.c
索引 adcf471..cf1f775 100755
---a/kernels/sampl/a72/vx_OpenGL_mosa_target.c
++ b/kernels/sample/a72/vx_OpenGL_mosa_target.c
@@-291、7 +291、23 @@静态 vx_status vx_callback tivxOpenglMosaicProcess (
renderTexProp.bufAddr[0]= output_target_ptr;
appEglBindFrameBuffer (mosacicParams->eglWindowObj、&renderTexProp);
-
+#if 1.
+ static int num = 0;
+ num++;
+ IF (数字> 100)
+{
+ glClearColor (1.0、0.0、0.0、1.0);
+ IF (数字> 200)
+{
+ num = 0;
+}
+}
+ else
+{
+ glClearColor (0.0, 0.0, 1.0, 1.0);
+}
+ glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+#endif
此致
Joe
-1-
默认情况
DDR 性能统计信息、
================
DDR:读取 BW:平均值= 951Mb/s、峰值= 1673Mb/s
DDR:写 BW:平均值= 3391Mb/s、峰值= 5202Mb/s
DDR:总 BW:平均值=4342MB/s、峰值=6875MB/s
-2-
启用#if 1
DDR 性能统计信息、
================
DDR:读取 BW:平均值= 2177MB/s、峰值= 7889MB/s
DDR:写 BW:平均值=3407MB/s、峰值=12298MB/s
DDR:总 BW:平均值= 5584MB/s、峰值= 20187MB/s
-3-
启用#if 1并注释 glClearColor
DDR 性能统计信息、
================
DDR:读取 BW:平均值= 2174 Mb/s、峰值= 8868 Mb/s
DDR:写入 BW:平均值= 3397MB/s、峰值= 138484MB/s
DDR:总 BW:平均值= 5571MB/s、峰值= 22752MB/s
-4-
启用#if 1并取消注释 glClearColor /注释 glClear
DDR 性能统计信息、
================
DDR:读取 BW:平均值=952MB/s、峰值=1645MB/s
DDR:写入 BW:平均值= 3396MB/s、峰值= 5231MB/s
DDR:总 BW:平均值=4348MB/s、峰值=6876MB/s

尊敬的 JC:
2560 x 1440 x 6 x 2 x 25 μ~= 1.106GB DDR BW、因此接近 1137M BW。 因此我认为这是合理的、因为差异很小。
正如我们讨论过的、图像大小很大、接近3.7MP、因此我们可以只为需要清除的部分图像调用该 API、而不是为整个帧调用 glClear? 这将 显著 降低此 API 的 DDR BW 要求。
此致、
Brijesh
您好!
我对延误深表歉意。 我相信,因为你正在使用 glClear 清除整个2560x1440帧每次,它消耗大量的带宽来重置所有帧缓冲区的颜色和深度信息。 我看到、您可以通过关闭抗混叠来减小带宽、这很有道理、因为每像素通过 AA 存储的数据更多。 如果不需要、我建议关闭 AA。
如果您只想清除某个部分的帧而不是整个2560x1440帧,另一个解决方案是使用 glScissor ()并指定帧的 x、y 坐标以及要清除的区域。 (链接)
请参阅 API 文档和示例。
此致、
Sarabesh S.