返回首页 > 您现在的位置: SEO秘密 > seo培训 > 正文

教程:使用英特尔庐INDEGPA改进您的Android*游戏性能

发布日期:2016/6/6 13:20:43 浏览:651

城市与车辆组合而成的几何结构包含大约23万个多边形(69万个顶点),各种材料映射于四周,而照明由单个无阴影平行光投射灯提供。提供的源材料包括构建应用所需的代码、项目文件和艺术资产,包含本教程介绍的源代码优化。

致谢

本教程是DavidHoulton编写的Android和OpenGLES3.0版(PDF)。它配有英特尔GPA。

教程结构

本教程将为您展示四个优化步骤。每一步都会采用英特尔GPA分析应用识别特定的性能瓶颈。然后在应用中切换至相应的优化以消除瓶颈,并再次进行分析以测量所实现的性能提升。所采用的优化步骤均遵循。

在本教程中,采用优化后,CityRacer的渲染性能提高了83。

前提条件采用和构建CityRacer示例。采用执行性能分析。英特尔GPA可与大多数Android设备兼容;不过基于x86架构的Android设备可提供最详细的分析指标。CityRacer示例应用

CityRacer逻辑划分成赛车模拟和渲染子组件。赛车模拟包含对车辆加速、刹车、转向参数,以及针对轨迹跟踪和防撞的AI建模。赛车模拟代码位于track.cpp和vehicle.cpp文件中,本教程中采用的优化不会对其产生任何影响。

渲染组件包括使用OpenGLES3.0和内部开发的CPUT框架牵引车辆和场景几何图。第一版渲染代码就表现出了一次通过的努力和决心,可提供多种性能限制设计选择。

网格和纹理资产可从Media/defaultScene.scene文件中加载。独立网格即可标记成预先放置的场景物品,或基于每实例转换数据的实例化场景,也可标记成可接受模拟提供的转换数据的车辆。场景中设置了多个摄像头:车辆尾部各设置一个,还设置了另外一个摄像头以支持用户自由开发场景。所有性能分析和代码优化均面向车尾摄像头模式。

为实现本教程的目的,CityRacer设计成从暂停模式开始,这样有利于大家了解各分析步骤以及相似的数据集。取消选中CityRacerHUD的Pause复选框,或在CityRacer.cpp顶部设置g_Paused=false,可解除CityRacer的暂停状态。

优化潜力

将CityRacer应用视作可以工作但未经优化的原型。在初始状态下,它可提供所需的视觉效果,但不提供渲染性能。它包含许多技巧和设计选择,是典型游戏类开发(限制渲染性能)中比较具有代表性的。开发过程中的优化阶段旨在逐步识别性能瓶颈、通过修改代码消除瓶颈,并测量所获得的性能提升。

请注意,本教程仅介绍一小部分适用于CityRacer的优化方法。具体来说,它仅考虑源代码会完全采用的优化,不对模式或纹理资产做出任何更改。我们此处不介绍其他会更改资产的优化方法,因为通过教程实施这些方法会非常繁琐。但它们可通过英特尔GPA工具来识别,而且在真实游戏优化中应该考虑使用。

本文所展示的性能数据均通过运行Android、基于英特尔®凌动™处理器的系统(代号“BayTrail”)获得。具体数据可能因系统的不同而有所差异,但相对性能关系应该类似,因此从逻辑上来说,性能优化应该相同。

整个教程采用的优化方法均可在CityRacer.cpp中找到。通过CityRacer的HUD或在CityRacer.cpp中直接修改可对这些方法进行切换。

CityRacer.cpp

1boolg_Paused=真;

2boolg_EnableFrustumCulling=假;

3boolg_EnableBarrierInstancing=假;

4boolg_EnableFastClear=假;

5boolg_DisableColorBufferClear=假;

6boolg_EnableSorting=假;

随着优化的逐步开展,它们将一个一个启用。一个变量控制一个或多个代码段的替换,以实现教程中相应步骤的优化目标。

优化教程

第一步是在Android设备上构建和部署CityRacer。如果正确设置了Android环境,位于CityRacer/Game/Code/Android的buildandroid.bat文件将为您执行这些步骤。

接下来启动英特尔GPAMonitor,右击系统托盘图标,然后选择SystemAnalyzer。

SystemAnalyzer将显示待连接的平台列表。选择您的Androidx86设备并按下“Connect”。

SystemAnalyzer连接Android设备后,将显示供分析的应用列表。选择CityRacer并等待启动。

在CityRacer运行的过程中,按下帧采集按钮以采集GPU帧的截图以供分析。

检查帧

打开面向OpenGL*的帧分析器,并选择刚才采集的CityRacer帧,以详细地检查GPU性能。

顶部的时间线将按照均匀分布的工作‘erg’展开,一个erg通常对应一次OpenGL绘制调用。如欲了解更多有关传统时间线显示的信息,请在X轴和Y轴上选择GPUDuration。这样可以快速显示哪些erg的GPU耗时最长,以及我们首先应该关注的地方。如果没有选择erg,右侧面板将显示整个帧的GPU耗时,为55毫秒。

《教程:使用英特尔庐INDEGPA改进您的Android*游戏性能》相关参考资料:
android 教程、androidstudio教程、android 程序教程、android studio教程、英特尔 高性能计算、android、三星android平板、android auto、google android

最新seo培训
  • 学好本领提升技能!龙城街道促进残疾人创新创业专题04-30

    来源时间为:2024-04-21(记者李云云)为进一步深化龙城街道残疾人关爱工作,进一步推动残疾人创新创业,助力他们提升个人技能、增强自我发展能力,4月17日,……

  • “头雁”项目管理人员培训班开班04-30

    来源时间为:2024-04-22近日,由农业农村部人力资源开发中心主办的“头雁”项目管理人员培训班在华中农业大学开班。各省(市、区)“头雁”项目、各“头雁”培育……

  • 点亮智库04-24

    来源时间为:2024-04-23将本页面保存为书签,全面了解最新资讯,方便快捷。////////当前位置:点亮智库&中信联周剑:为什么要长期坚定不移推进……


欢迎咨询
返回顶部