RK3576开发板OpenGL性能大起底,这数据我真的服了
瑞芯微RK3576芯片作为一款中高端的八核Arm架构嵌入式处理器,集成 Mali-G52 MC3的GPU。本次OpenGL性能测试,基于触觉智能RK3576开发板Purple Pi OH2演示。
OpenGL开放图形库
- OpenGL协议简介
OpenGL(Open Graphics Library,开放图形库)是一套跨平台、跨语言的开源图形编程接口,而非编程语言或独立软件,核心作用是为开发者提供标准化的函数 / 指令集,让程序能直接控制显卡(GPU)渲染 2D/3D 图形,广泛应用于游戏、可视化、工业设计、虚拟现实(VR)等领域。
- 应用场景
触觉智能Purple Pi OH2开发板采用RK3576核心板+底板设计,支持二次开发底板。该开发板可支持OpenGL ES、OpenGL。同时触觉智能作为专业RK方案商,可提供RK3576配套的工业控制、智能终端、车载显示、边缘计算等场景的核心硬件方案。
演示环境
演示设备为触觉智能RK3576开发板Purple Pi OH2:
系统固件为Ubuntu20.04(定制固件);
测试工具软件包括Glmark2、Glxgears、QT应用程序;
QT版本:Qt-5.15.8
触觉智能RK3576核心板,仅40.5×40.5mm极致小尺寸,邮票孔封装,支持LPDDR4或LPDDR5高速内存,率先适配开源鸿蒙OpenHarmony5.0国产操作系统,100%全国产,支持最高-40~85℃工业级环境。
OpenGL测试
- Glmark2工具
通过RK3576开发板Ubuntu系统安装GLmark2工具软件,并执行以下命令进行测试:
sudo apt-get install glmark2glmark2
测试分值结果为675分:
- Glxgears测试
该工具属于mesa-utils套件,是OpenGL测试工具,适合快速验证GPU的基础渲染功能和初步性能,主要用于测试GPU帧率。
首先我们将Glxgears工具进行安装:
sudo apt install mesa-utils
测试GPU帧率:
输入Glxgears测试会弹出带三个旋转齿轮的窗口,终端每5秒打印一次帧率,命令如下:
sudo glxgears
由于测试HDMI显示器刷新率限制60FPS,下述测试结果平均帧率在60FPS,无法更高:
解除显示器刷新率限制,测试GPU极限帧率,执行如下命令:
sudo vblank_mode=0 glxgears
可以看到极限帧率平均在达到了2516FPS!
QT程序测试OpenGL
接下来的测试使用QT官方的OpenGL测试例程,该程序核心测试OpenGL 的核心功能,包括着色器编程、VBO 缓冲、纹理映射、光照计算、3D 坐标变换、深度测试等。相关例程源码请关注触觉智能公众号,添加客服134-2385-6106获取。
- 编译&测试
进入系统执行如下命令,编译QT程序:
qmake .make
返回结果:
编译完成后,运行QT测试程序:
./qopenglwidget &
运行如图:
后台查看GPU占用率,占比68%,处于中等负载状态:
watch -n 0.3 cat /sys/devices/platform/27800000.gpu/devfreq/27800000.gpu/load
QT程序OpenGL部分核心代码分析:
//OPENGL初始化 void GLWidget::initializeGL() { // 1. 初始化OpenGL函数 initializeOpenGLFunctions(); // 2. 创建纹理 m_texture = new QOpenGLTexture(QImage(":/qt.png")); // 3. 设置Program1(Qt Logo渲染) setupProgram1(); // 4. 设置Program2(纹理立方体渲染) setupProgram2(); // 5. 初始化变量 m_fAngle = 0; m_fScale = 1; // 6. 创建几何数据 createGeometry(); // 7. 设置VBO1(Qt Logo顶点数据) setupVBO1(); // 8. 创建气泡效果 createBubbles(bubbleNum - m_bubbles.count()); } //OpenGL渲染 void GLWidget::paintGL() { // 1. 气泡管理 createBubbles(bubbleNum - m_bubbles.count()); // 2. 开始QPainter绘制 QPainter painter; painter.begin(this); painter.beginNativePainting(); // 3. OpenGL状态设置和清理 glClearColor(...); glClear(...); // 4. 3D渲染设置 glFrontFace(GL_CW); glCullFace(GL_FRONT); glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); // 5. 模型视图矩阵计算 QMatrix4x4 modelview; ... // 6. 3D物体渲染 if (m_qtLogo) { paintQtLogo(); // 渲染Qt Logo } else { paintTexturedCube(); // 渲染纹理立方体 } // 7. 恢复OpenGL状态 glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); painter.endNativePainting(); // 8. 2D叠加绘制 if (m_showBubbles) { ... // 绘制气泡 } // 9. 帧率显示 if (const int elapsed = m_time.elapsed()) { ... // 显示FPS } painter.end(); // 10. 气泡动画更新 for (Bubble *bubble : qAsConst(m_bubbles)) bubble->move(rect()); // 11. 动画状态更新 updateAnimationState(); }
本次测试完毕,可以看出RK3576拥有不凡的GPU性能,加上八核CPU与6Tops算力,可作为RK3588超值平替!
触觉智能Purple Pi OH2开发板,基于瑞芯微第二代8nm高性能AIOT平台RK3576,基于瑞芯微第二代8nm高性能AIOT平台RK3576,现专享秒杀活动,可联系客服参与活动。
2026-01-17 11:59:40
目录 返回
首页
