在GIS中图形处理能力尤为重要,特别是在三维GIS技术中,为了让三维场景能够更逼真、更流畅地显示,往往需要为计算机配置一个独立显卡,利用其GPU技术来满足GIS的图形运算需求。
什么是GPU
GPU(英文全称Graphic Processing Unit,中文名称图形处理器)是显卡的“心脏”,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。
GPU具有的超长流水线和并行计算特点使得GPU运算速度很快,甚至已经超越了通用的CPU。早期所有的图形处理都是由CPU单独完成,GPU的出现促使图形处理功能由CPU向GPU转移,极大地提高了计算机图形处理的速度和图形质量。
为什么三维GIS需要GPU
GPU是面向图形实时渲染定制的,渲染一个复杂的三维场景,需要处理几百万个三角形顶点和光栅化上百万个像素,若要求在PC上快速、实时生成高质量的三维图像,CPU运算速度远跟不上这样复杂3D图形处理的要求,而有了GPU就能让三维GIS能够实时、流畅地渲染。
SuperMap为了保证三维场景以及分析运算的绘制和显示速度,利用GPU的运算能力和可编程能力,对三维场景实现加速绘制的优化处理,下面我们来看几个基于GPU图形加速的例子。
图1 基于GPU的动态可视域分析
GPU还能为GIS带来哪些提升
GPU除了在图形加速方面的能力以外,其在通用计算技术,如浮点运算、并行计算等方面,也引起业界不少的关注,很多实际案例也证明了,GPU在浮点运算、并行计算等部分计算方面,可以提供数十倍乃至于上百倍于CPU的性能。
在串行计算环境下GIS空间分析算法几乎已经达到理论上的时间复杂度的极限,如何进一步提升海量空间数据的分析处理运算速度,GPU在并行计算上的卓越能力成为GIS分析性能的一把利器,SuperMap针对空间分析功能提供了两种GPU并行计算模式,分别是CUDA和OpenCL。下图是SuperMap在开启并行技术进行坡度、坡向、三维晕渲以及正射三维影像提取的分析测试结果,可以看到GPU并行技术在GIS分析算法上的效率提升。