主内存-显卡的内存。
1.显存的种类:显存的种类很多,比如edoram、mdram、sdram、sgram、vram、wram、ddr等。edo显存曾经在voodoo,voodoo2等显卡中使用过,现在已经消失了。sgram内存支持块写和屏蔽,可以看作是sdram的加强版。曾经流行过一段时间,但现在很少用了,因为价格比sdram高。目前显卡普遍使用sdram和ddrsdram。sdram可以和cpu同步工作,没有等待期,减少了数据传输延迟。优点是价格低,已经广泛应用于低端显卡。ddr是doubledatarate的缩写,是对现有sdram内存的一种进化。在设计和操作上,它与sdram非常相似。唯一的区别是ddr可以在时钟周期的上升沿和下降沿传输数据,而sdram只能在上升沿传输数据,所以ddr的带宽是sdram的两倍,ddr的数据传输速率是sdram的两倍。如果sdram内存的频率是133mhz,那么ddr内存的频率是266mhz,所以在高端显卡中被广泛使用。
2.显存的容量:和系统内存一样,越多越好。视频内存越大,可以存储的图像数据越多,分辨率越高,支持的颜色数量也越多。下面的公式用于计算内存容量与分辨率的关系:所需图形分辨率×色彩精度/8。比如要得到16位真彩色的1024×768,就需要1024×768×16/81.6m,也就是2m内存。对于三维图形,需要同时处理前缓冲区、后缓冲区和z缓冲区,所以公式为:需要的图形分辨率×3×色彩精度/8,例如一个16位、1024×768的三维场景,需要的帧缓冲区为1024×768×3×16bit/84.71m,即需要8m的显示。
3.显存的数据位数和带宽:数据位数是指一个时钟周期内可以传输的位数,是决定显存带宽的重要因素,与显卡的性能密切相关。当显存类型相同,工作频率相同时,数据位数越大,其性能越高。内存带宽的计算方法是:工作频率×数据带宽/8。以现在的geforce3显卡为例,它的显存系统带宽是230mhz×2(因为用的是ddr显存,所以乘以2)×128/87.36gb,数据位数是显存和显卡非常重要的参数。显卡工作过程中,z缓冲区、帧缓冲区、纹理缓冲区会占用大量内存带宽。来源。带宽是3d芯片和本地存储器之间数据传输的标准。这个时候显存的容量并不重要,也不会影响带宽。显存带宽相同的显卡,64mb和32mb显存性能差别不大。因为此时系统的瓶颈是显存带宽,当大量像素渲染时,显存带宽不足会造成数据传输拥塞,导致显示芯片等待,影响速度。目前显存主要分为64位和128位。在同样的工作频率下,64位显存的带宽只有128位显存的一半。这也是为什么geforce2mx200(64位sdr)的性能远不如geforc
在三维场景中,像二维地图一样,数据是以图层的形式加载到三维球体中进行显示的,比如图像数据、地形数据、矢量数据等,都是通过加载到不同的图层中进行显示的。在三维场景中,根据其功能和加载数据内容的不同,图层可以分为以下几种类型:普通图层、跟踪图层、屏幕图层和地形图层。
一个三维场景可以包含多个普通三维图层(layer3d)或者多个terrainlayer。每个图层的属性信息包含加载图层的基本信息,如图层名称、图层描述、图层可见性、选择性和图层范围。
普通层
普通图层用于加载数据显示。在3d场景中,可以有多个法线层。普通图层可以设置样式并保存在3d场景中。下次打开此3d场景时,将自动保存上次保存的图层。样式被加载到场景中。对象在普通层中的位置相对于球体是固定的。在场景中,它会随着球的操作而变化。例如,当球漫游时,层中的对象将随球移动。
根据加载数据的内容,普通图层要分为五种,但是supermap单独定义了地形图层,所以普通图层分为以下四种:矢量数据型三维图层、影像数据型三维图层、模型数据型三维数据、kmlkmz型三维图层。
地形层
supermap3d服务有专门的地形图层来添加地形数据,加载到3d场景中的地形数据作为地形图层来管理。作为地形图层添加到3d场景的地形数据是地形缓存文件数据,即*中的文件。sct格式。三维场景中的地形图层由三维场景中的地形图层集合进行管理,可以实现添加、删除和调整地形图层顺序的功能。
三维跟踪层
3d追踪图层是覆盖3d场景中球体表面的临时图层。它始终位于3d场景中每个图层的顶层,用于临时存储添加到3d追踪图层的3d几何对象。当3d场景关闭时,追踪图层中的内容将被完全清空。
三维场景只有一个三维追踪图层。不能删除三维追踪图层或更改其位置。您可以将任何类型的三维几何对象添加到三维追踪图层或删除对象。显示场景时,不会保存追踪图层中的对象,而只是将其临时存储在内存中。当场景关闭时,追踪图层中的对象不再存在。当场景再次打开时,追踪图层显示为空白的透明图层。
屏幕层
supermap3d模块还提供了屏幕图层。屏幕图层是一个特殊的图层,不同于上面的普通图层和3d追踪图层。屏幕层中的对象不是基于对象的位置。