Primitive 和 entity 的区别

54 阅读1分钟

Primitive更多是面向图形的底层api;

entity 为更高级别的数据驱动api,底层为primitive

primitive利用 Gemometry和Apperance构建,其具有的优势:

  1. 性能: 绘制大量的primitive时,可以将其合并为单个Geometry,减少GPU负担
  2. 灵活: Geometry 和Apperance解耦

区别:

  1. entity 支持动态属性:如位置、颜色和形状等,动态属性支持 entity集成了cesium的其他组件,如:inforBox、selectionIndicator和时间轴,这使得与3d对象进行交互变得容易(内置交互)
  2. primitive:当渲染大量静态对象时,primitive 可以提高渲染性能,其提供了对底层渲染细节的更多控制:支持批处理和内存优化

总结:

  1. 如果需要一个容易使用、动态更改的3D对象,支持内置交换等,选entity
  2. 如果性能或者需要更多的定义,选primitive