当前位置:首页 > 报告详情

【演讲材料】Qt全球峰会2025-Qt5迁移到Qt6上的渲染性能问题研讨.pdf

上传人: c** 编号:955265 2025-10-27 23页 2.69MB

1、Qt5迁移到Qt6上的渲染性能问题研讨Qt Group中国资深解决方案工程师于海鹏Agenda1.Qt 6对于对于3D图形的抽象层图形的抽象层2.Qt 6.9改进改进移动移动/嵌入式设备上使用嵌入式设备上使用 GLES的的MSAAWindows和和D3D上的延迟上的延迟3.Benchmarking Qt 5 vs.Qt 6区别区别CPU和内存使用情况调查结果和内存使用情况调查结果26 May 20256 May 20253Qt 5.15OpenGL(ES)QWindow,QOpenGLContext,QOpenGLFunctions,Qt QuickQt MultimediaQt Quick

2、3DOpenGL(ES)QWindow,QOpenGLContext,QVulkanInstance,VulkanDirect 3DMetalQRhi,Shader pipelineQt 6.8Qt QuickQt MultimediaQt Quick 3D Qt 6直接支持五大主流3D API 优先考虑各平台主要的、厂商支持的 API 旧版 API 中未包含的功能 正在逐步淘汰/模拟 OpenGL(ES)的平台 性能评估 本身并非旨在显著提升性能 降低驱动程序开销+以不同的方式处理 抽象层聚焦:成本,机会6 May 20254支持现代 API 的价值 如果硬件支持,可以使用 GL_EXT_m

3、ultisampled_render_to_texture GL 实现隐式分配多重采样缓冲区 自动解析为(非多重采样)纹理6 May 20255新功能:MSAA,GLES(Qt 6.9)Create multisample renderbuffer-render to it-resolve to(non-multisample)textureglFramebufferTexture2DMultisampleEXT(,texture,.,sample_count)-render to it 不需要多重采样数据-无需将其从片上写入外部存储器 Might play nicer with tile-b

4、ased GPU architectures(Adreno,Mali,.)View3D,item layers,ShaderEffect适用于此功能 Qt Quick 3D测试:41-55 FPS(Mali GPU,Android 平板)6 May 20256新功能:MSAA,GLES(Qt 6.9)QWindow:requestUpdate(),同时驱动QQuickWindow 更新 自 Qt 6.6 起,当频率 60 Hz 时,5 毫秒定时器默认自动减少 优化一些平台上的效果 CVDisplayLink在macOS/iOS上 在 D3D11/12上执行类似操作 在专用线程上调用IDXGIO

5、utput:WaitForVBlank Qt 6.8:帧延迟可等待对象 确保在帧仍在呈现时不会开始渲染 SetMaximumFrameLatency(2)降低延迟6 May 20257新功能:Windows上的驱动更新Qt 6.76 May 20258新特性:Windows 6.9上的驱动更新6 May 20259新特性:Windows 6.9上的驱动更新Qt 6.8Qt 6.9Qt 5 6 Benchmarking FindingsQt 6 是否更好?(CPU/memory 使用情况)区别修复6 May 2025106 May 202511https:/ 5.15.18 OpenGLQt 6

6、 D3D11Qt 6 OpenGLQt 6 Vulkan%,lower is betterIt Depends 不同的渲染目标大小使所有比较无效 Qt 5渲染基于1280 x720.Qt 6渲染基于1600 x900.我刚好在1440p屏幕上使用了125%的缩放比例 1280 x720*1.25=1600 x900 无论是否启用Qt:AA_EnableHighDpiScaling,Qt 5都不会执行相同的操作 非整型缩放因子6 May 202512区别:高DPI支持Plain bugs6 May 202513 一些“Qt 5到6性能回归”是6.x 的错误

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
根据《Qt5迁移到Qt6上的渲染性能问题研讨》的内容,以下是全文关键点的概括: 1. **Qt 6 3D图形抽象层**:Qt 6支持五大主流3D API,优先考虑各平台主要API,逐步淘汰/模拟OpenGL (ES)。 2. **性能改进**: - **MSAA**:在移动/嵌入式设备上使用GLES的MSAA,优化渲染性能。 - **延迟减少**:在Windows和D3D上减少延迟,优化帧率。 - **驱动更新**:Windows上的驱动更新,提高性能。 3. **Benchmarking**: - **CPU和内存使用**:Qt 6相比Qt 5在CPU和内存使用上有改进。 - **性能比较**:不同渲染目标大小影响比较结果,Qt 6在1440p屏幕上表现更优。 4. **问题与修复**: - **性能回归**:一些性能回归是Qt 6的错误,如场景图批处理故障。 - **内存泄漏**:某些动态场景可能导致内存泄漏,需使用Qt 6.5/6.8+版本。 5. **API变化**: - **QRhi**:QRhi在OpenGL上的实现有所改进,映射到其他3D API。 - **编译和存储**:编译过程和存储方式在Qt 6中有所不同。
"Qt6 3D性能提升揭秘" MSAA新功能解析" 性能对比与优化策略"
客服
商务合作
小程序
服务号
折叠