avatar

Hika

A blog focus on GameDev

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于
首页 真机适配问题记录(一)
文章

真机适配问题记录(一)

发表于 2021/02/25
作者 lynx 2 分钟阅读

开发大量含有自定义天气、植被后处理等AAA材质的时候,难以避免有大量真机的GPU适配问题,在此记录一下一些棘手的问题,以供日后自己查阅,或者也能帮助到正在看此文章的您~

草的花屏问题

Lark20200927-111711

出现机型:vivo X20A、魅族16TH、小米Mix2,都是高通骁龙机器

特征:草的颜色无法正常表现,各种颜色都有。

原因:在部分骁龙芯片中,同一个Shader的uniform不能超过32个。而草的Shader的uniform已超过32个

解决方案:删除或合并uniform即可。

Caused GPU Hang Error (IOAF code 3)

QQ图片20210104163711

或者

validateFunctionArguments:3476: failed assertion `Vertex Function(xlatMtlMain): missing buffer binding at index 3 for vertexBuffer.0[0].’

Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (IOAF code 4) 类似的,GPU Hang错误。

表现是游戏渲染卡死,但是游戏逻辑仍在运行,声音音效正常。

打开Metal API Validation Disabled和Metal Shader Validation 都无法查出有用信息。

相关类似问题:

QQ图片20210104164722

https://forum.unity.com/threads/iphone-8-a11-gpu-hang-error-command-buffer.500549/

最终定位是LOD切换模型,模型的顶点在渲染阴影的时候在GPU越界导致的。

Mesh粒子在真机(AB模式)无法显示

image2021-1-19_16-43-25

表现:使用Render为Mesh的粒子,在Editor(Assetdatabase读取)下能正常显示,但是在真机/AssetBundle模式下会渲染不出来,也没有drawcall。

原因:参考https://issuetracker.unity3d.com/issues/texture-on-particle-is-not-displayed-when-the-particle-and-mesh-are-put-into-different-asset-bundles

​ 如果Mesh和ParticleSystem(Prefab),在同一个AB下,则不会有问题;如果不在同一个AB下,就是会出现显示不出来的情况。这是原生管线不可修复的一个bug。

解决方案: 1、使用ScriptableBuildpipeline代替原生管线

​ 2、修改fbx文件配置,打开Read/Write Enable(现在使用的方案),此方案会导致Mesh内存翻倍

image2021-1-19_17-1-37

游戏, 引擎
本文由作者按照 CC BY 4.0 进行授权
分享

热门标签

游戏 动画 渲染 物理 网络
推荐博客
  •  iquilezles
  •  timlly cnblog
  •  catlikecoding
  •  therealmjp
  •  realtime-rendering-blog

文章内容

相关文章

2021/04/01

真机适配问题记录(三)

有些问题过去久远了,相关的bug单都找不到了,但是实在让人印象深刻,还是要记录一下滴~~ 在iOS中,雾在场景会闪烁 表现:在教堂场景中,打开雾效会闪烁。场景贴图跟雾有种Z-Fighting一样的表现。 原因:iOS中,PBR_Scene_DetailNormal.shader(实际代码在Scene_PBR.hlsl)的雾效的一段计算(ComputeFogFactor函数),在fr...

2022/02/15

UE4无法解析的外部符号的几种情况

1、模块缺少依赖 常见问题,再Build.CS添加上模块依赖即可,见 https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/ModuleFiles/ 2、使用没有被导出的类的情况 如图,继承UAnimGraphNode_SequencePlayer类 在子类调用...

2021/03/05

真机适配问题记录(二)

几乎每个版本,都有各种奇怪的引擎适配问题出现,手机还不能像PC那样给玩家装环境,什么时候手机系统和驱动标准能统一一下啊!🤣 华为手机大量像素无法渲染 机型:大部分华为手机,并且系统在Android9.0以下 表现:部分像素无法渲染出来,而且无法渲染的像素一直在动,不稳定。 原因:华为手机的OpenGL渲染驱动Bug,在华为Android9.0使用MSAA 4x以上并且启动HD...

前向渲染、延迟渲染和Forward+

真机适配问题记录(二)

© 2023 lynx. 保留部分权利。

本站采用 Jekyll 主题 Chirpy

热门标签

游戏 动画 渲染 物理 网络

发现新版本的内容。