威尼斯wns·8885556(vns认证网站)-BinG百科

当前位置:首页 > 新闻资讯 > 技术动向

国产化适配|一起看看适配国产GPU需要做什么(下)

发布者:威尼斯wns·8885556    时间:2022-11-28 13:43:14


(接上篇)




2

优化方案

Optimization Scheme


在3D图形处理中,显卡性能对模型表现和模型处理而言,至关重要。显卡越高端,其三维效果越逼真,图面切换越流畅。本文针对国产化GPU在FreeXGIS中的优化方向进行简单分析,分析方向:地理数据渲染优化、模型渲染优化、几何图元渲染优化。

国产化适配_H(1).png



地理数据渲染优化


01 地形数据加载流程

三维地形渲染系统使用金字塔的瓦片构建机制,采用实时动态调度算法,可以根据当前视口显示的数据范围,进行分级分区域动态调度,从而减少内存占用,减轻渲染压力。


02 渲染模式优化

在国产化系统中,大地形渲染效率优化,除地形数据调度影响效率外,更多时候渲染采用的模式更为重要。本平台通过优化渲染模式,使用顶点缓存对象渲染方式(数据存储在GPU中,可直接绘制图元,数据可修改),减少CPU与GPU的访问次数,有效提升渲染效率。


03 减少状态切换

在GIS平台中,大批量的矢量线、面绘制是比较常见的使用方式,通过分析osgEarth中矢量线、面的绘制效率较低的问题,提出了通过合并矢量绘制数据中同类型的状态信息,减少状态频繁切换,大幅提升矢量的渲染效率。


大批次模型渲染优化


三维场景中,除去大地形的渲染消耗外,其余就是大量业务数据的加载及渲染,比如大批量的比如战斗机、舰船、卫星、航路线等,带来如下问题:第一,内存随着场景中的实体增加呈现线性增长;第二,加重GPU的渲染负担;第三,需要CPU与GPU进行多次重复的交互。

针对以上问题,我们采用了多实例渲染技术进行优化,该技术是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,即所谓的“一次提交,多次渲染”,是连续执行多条相同渲染命令的方法,并且每个命令所产生的渲染结果都会有轻微的差异,因此,它是一种非常有效的、可使用少量API调用来渲染大量几何体的方法。


图元渲染优化


01 优化图元绘制

GPU绘制图形需要CPU向GPU发出指令, 同时需要向GPU提交顶点坐标、纹理坐标、法线坐标等信息,复杂的仿真都是千万级顶点数据,通过顶点缓存对象和索引缓存对象能够使数据共享,减少顶点数目,静态目标只需要提交一次数据,降低了CPU的负载。


02 动画图元绘制(如雷达通信效果)

动画可以分为形变、属性变化。形变即位置信息或拓扑结构的变化;属性变化即颜色、光照、纹理等信息变化。

在以往的实现思路中,动画都会在CPU端通过顶点变化实现,此时就需要高频率的CPU-GPU通信,然而目前在国产CPU和GPU下是无法做到的。于是我们针对性的做了优化,将数据处理放在CPU中,将动画效果通过着色器在OpenGL渲染管线中实现,减少CPU与GPU的通信,提升渲染效率。


03 几何纹理扰动的优化

为了模拟显示中的效果,如淹没分析,我们针对波浪采用改变随机的纹理坐标的方法,在以往的实现中同样需要占用CPU与GPU的带宽,于是我们将纹理坐标的计算放到顶点着色器中进行,效率得以提高。



国产化部署案例分享



01 银河麒麟运行GIS平台

操作系统

银河麒麟v10(国防版)

运行环境

PC端

CPU

飞腾D2000

开发工具

Qt Creator

开发平台

FreeXGIS系列

银河麒麟2.png


公司FreeXGIS系列产品在银河麒麟操作系统中良好适配,国产CPU飞腾D2000上流畅稳定运行。平台涵盖二三维图层加载、测量、标绘、军用标绘、海洋、星空环境、气象、电磁等模块,支持插件化与模块化开发、应用。


02 中标麒麟运行GIS平台

操作系统

中标麒麟v5(军用版)

运行环境

PC端

CPU

龙芯3A4000

开发工具

Qt Creator

开发平台

FreeXGIS系列

中标麒麟2.png


公司FreeXGIS系列产品在中标麒麟操作系统中良好适配,国产CPU龙芯3A4000上流畅稳定运行。系统涵盖卫星仿真、态势仿真、电磁仿真领域,支持插件化与模块化开发、应用,用户体验良好。


FreeX 产品微信公众号

威尼斯wns·8885556微信公众号

威尼斯wns·8885556视频号