zoukankan      html  css  js  c++  java
  • android ms3d优化及其他

    把ms3d移植到android平台上并不是很难,但是1000+个三角形在800MHz的手机上却只能跑到700+ms/f,确实有点泄气。刚开始以为就是硬件慢,后来同事指出800MHz相当于奔三,即使在虚拟机里跑,也不会这么慢。于是就花了几个晚上,优化到了70+ms/f,继续优化的话我只能想到用ndk了。

    总结一下移植以及优化时的经验教训: 

    1. 由于ms3d里相同的顶点坐标有不同的纹理坐标,所以不同的三角形不能共用顶点,用glDrawArrays绘制时会节省一个顶点索引缓存
    2. ms3d里的uv坐标与android里的坐标系统相同,都是以左下角为原点,所以v就不用像opengl中被1减了
    3. 顶点坐标和纹理坐标都用数组存储,用Buffer的wrap方法生成Buffer对象,修改数据时直接修改数组中的值即可(最开始每次更新数据时都是把Buffer清空,重新put,非常慢)
    4. 把多维数组展开成一维数组
    5. 把复杂对象的临时变量(如数组)提成类的静态常量(虚拟机创建/销毁对象以及垃圾回收的消耗还是比较高的)
  • 相关阅读:
    CF57C Array
    P4739 [CERC2017]Donut Drone
    CF1455D Sequence and Swaps
    LG P4351 [CERC2015]Frightful Formula
    5. React-router1- react-router理解
    5. React-router0- spa理解和路由的理解
    axios案例学习总结
    axios源码和常用方法
    http8种请求方式
    axios-http,ajax的封装,axios的使用
  • 原文地址:https://www.cnblogs.com/gg_shily/p/1953884.html
Copyright © 2011-2022 走看看