opengl和angle区别
发布网友
发布时间:2023-04-05 19:09
我来回答
共2个回答
热心网友
时间:2024-03-21 10:07
ANGLE全名是Almost Native Graphics Layer Engine[近似本地图形层引擎],是开源技术,它负责将OpenGL转换为其它3D引擎进行渲染。这并不是大家完全用不上的新奇或者非常稀罕技术,如果是Windows版Firefox或者各种Chrome亲戚浏览器的用户,ANGLE就是这些浏览器软件的渲染层引擎,负责将这些浏览器代码中原生的OpenGL图形层转换为相对更高效的DirectX进行处理。如果这些浏览器在Windows平台还以OpenGL模式运行,那么到今天恐怕在性能和省电上也完全打不过IE6,尤其是英特尔处理器的核显等低性能GPU,OpenGL性能完全就是史诗级灾难。另外这类技术在一些国内常见的安卓模拟器[网易MuMu等]上也有使用,将Android系统的图形底层从OpenGL转换成Direct X运行以提高CPU的利用效率。
显然,DirectX是不大可能出现在Android平台上的,但在Android 10上推行ANGLE的目的也确实是为了性能提升,将现有的OpenGL ES图形层最终全部转换到GPU利用效率更高的Vulcan[[Doc]Link=00006608[/Doc]]上,谷歌认为这样可以解决不同硬件厂商自己开发OpenGL驱动的效率和性能差异。但对于现有的安卓应用来说,OpenGL仍是绝对的主流,而且很多旧手机或者旧版本Android并不支持Vulcan,仅有极个别的游戏和应用支持,例如《王者荣耀》只有测试版支持Vulcan,因为旧有设备和兼容性问题,是不能指望开发者直接全面使用Vulcan的,因此需要一个中间层把OpenGL转换成Vulcan进行正常显示。
从目前谷歌开发网站公示的进度来看,Windows版的ANGLE技术最为完整,从Direct X 9、11到OpenGL ES和Vulcan的中间层实现,毕竟Chrome和ChromeOS才是亲儿子。但不太乐观的是在以Vulcan为底层渲染器时,OpenGL部分只实现了OpenGL ES2.0版本,如果是熟悉Android游戏的开发者或者专业用户都清楚,目前游戏开发底层最起码也是ES 3.0级别了,只有高版本才有比较完整的画面渲染功能,对应到DirectX中就和DX9和DX11的差别类似。好在3Dmark等跑分应用还是保留了ES2.0模式的,另外不少游戏也支持向下兼容,只是画质会变差,因此ANGLE的性能仍可以通过3D、HTML等常见标准测试进行验证。
热心网友
时间:2024-03-21 10:07
opengl和angle区别关于OPENGL与OPENGL ES的区别 数据类型: 1:i GLint 整数型 2:f GLfixed 定点小数 3:x GLclampx 限定型定点小数 删除的功能: 1.glBegin/glEnd 2.glArrayElement 3.显示列表 4.求值器 5.索引色...