doom3吧 关注:3,313贴子:21,308
  • 8回复贴,共1

各位吧友,你们在安卓上玩doom3,手机都是什么配置?要开光

只看楼主收藏回复

各位吧友,你们在安卓上玩doom3,手机都是什么配置?要开光影的。
我诺基亚9 骁龙845 6g运存。玩着不卡。系统剩2g多运存可用。原来占用3到4百兆,切换关卡,一下到2g了,然后画面闪烁卡住。logcat日志显示gpu申请内存失败,内存溢出,然后卡退。
降低纹理大小也没用(漫射纹理128,细节纹理64,高光纹理32)。分辨率用的640x480也不行。使用压缩纹理也不行。
难道必须8g内存才能玩?


IP属地:山东来自Android客户端1楼2020-05-20 06:34回复


    IP属地:山东来自Android客户端2楼2020-05-20 09:26
    回复
      应该是初步找到原因了. 是程序运行时申请的OpenGL顶点缓冲区内存一直没有释放. 当关闭光照和阴影时, 动态创建的顶点数据很少. 当打开光照和阴影时, 会动态添加顶点数据, 然后去频繁的申请OpenGL顶点缓冲区分配显存. 渲染完后, 如果不再使用又不再清理, 显存会不停增加.
      函数调用栈: VertexCache::EndFrame() -> VertexCache::ActuallyFree().
      VertexCache::ActuallyFree()中, 原来

      我修改为以下, 显示调用glDeleteBuffers去释放该顶点缓冲区的内存

      我加了调试文本显示, 图形内存使用量不会一直不断增加了.
      现在开了光影可以玩好几关, 不像之前玩两关就闪屏退出了.


      IP属地:山东4楼2020-05-23 14:16
      回复
        现在打开光影,勾选ETC1/RBGA4444压缩纹理,但不降低纹理尺寸的情况下,直接从回收处理场1到主挖掘地boss通关。不用像以前那样玩会就存个档怕突然崩溃。每关一般内存占用在300-400M之间,显存使用量在300-500M之间,程序一共使用800M左右内存。不会像之前爆到2G。


        IP属地:山东来自Android客户端5楼2020-05-23 17:41
        回复
          请问一下在哪里修改?


          IP属地:四川来自Android客户端6楼2020-07-11 01:56
          收起回复
            doom3有手机版?


            IP属地:江苏来自手机贴吧7楼2021-04-26 00:04
            收起回复