没有什么架构师,代码写多了就会做架构。
架构是自下而上进化出来的,是群体讨论出来的,不同的业务场景,不同的性能需求有不同的架构设计,这些架构往往是工作在一线的资深程序员们讨论和实践出来的,而不是一个专门的岗位,高高在上的做着架构设计。
不存在一个凌驾于所有项目之上的架构师,每个项目有自己的架构,团队共同讨论和根据实践决定。不存在一个架构师,脱离具体的项目,负责给所有项目设计架构,这样的架构师设计出来的架构必然是脱离实际的。
Java为什么会有架构师?Java是最接近工业化的语言,各种类库和自动生成工具,导致一些CRUD之类的标准操作完全自动化生成了,Java在标准的BPM、MIS等系统里得到大量应用,于是程序员开始分化,一部分研究各种框架各种类库,一部分做些重复的劳动,写简单的无技术含量的业务逻辑。于是研究框架的资深程序员就被叫做架构师了。而C++不太能容忍水平太低的程序员,分化不严重,而且C++程序往往都是高度定制化的,没有什么通用的业务框架解决通用的问题。
从简单的说,“渲染多内容”的优化主要方法是剔除(culling)和细致程度(level of detail, LOD)。
不在视角范围的物体可剔除、被其他物体遮挡的物体可剔除、占据屏幕面积太小的物体可(有损地)剔除。
LOD 则是(有损地)缩减较远距离的物体表示方式,除了减面,可用较简单的 shader,也可换成 billboard/imposter 等。
还有一些要改变渲染器的架构。详情请看RTR3 和 GEA。