Stage3D的优缺点

Stage3D的缺点和他的优点相同:一处开发多平台发布的能力。

因为用统一的API来面向所有的平台,需要保证一个应用适合所有平台,Stage3D需要根据图形处理能力在其所面向的平台中抽象出一个“平均”3D硬件设备,这样Stage3D无法利用多数强大的3D显卡中的先进功能,跟水桶理论一样一样的道理。

比如,当今的GPU硬件支持Shader Model(用于顶点和片段着色器的标准)版本4.0。但是Stage3D却面向版本2.0Shader Model。这意味着当你在Stage3D中编程时,你会遇到一些在更高端的终端硬件中不会遇到的限制。比如,有权使用诸如AGAL阴影语言的着色寄存器数量是十分有限的。你最多能使用8个临时寄存器,而当使用Shader Model 4.0时,GLSL中有4096个编码寄存器可用。Stage3D着色器长度只能包含最大200Op码,而Shader Model 4.0支持4096个。Stage3D着色器不支持条件操作或者循环,而Shader Model 3.04.0支持。

换言之,与针对先进硬件和Shader Models的代码不同,Stage3D中的着色器是一个非常简单的程序。因此,一些在当今AAA游戏中采用的使用着色器的先进特效可能无法通过Stage3D来实现。

你可能感兴趣的:(Flash)