品质管理 游戏中 UI 问题 (一)

陈子昂 · 2016年10月28日 · 最后由 陈子昂 回复于 2016年10月28日 · 1764 次阅读
本帖已被设为精华帖!

整理了我 csdn 里这篇博客,发出来。
游戏 Ui 不光是体验,还会带来很多 B 类以上的问题。简约的 Ui(子界面不多,返回跳转不复杂)和质量没有关系
这些 B 类会影响游戏是否上线,对他们可能发现 bug 地方做验证。


Ui 元素

简单介绍下以下部分:
可视化 ui -image Raw image text Mask
交互 - Button Slider toggle Scroller


1.image 一些能存为.jpg 的尽量不要存位图,是拉伸不会变行为原则,位图是自带透明通道的,会带来一倍的消耗。
image 对应的还有几种类型 填充 切片 ,填充这边比较复杂,影响较大的是 set Native size 原图尺寸对应,这个在性能测试里会用到。


2.ui-text 字数限制是一个小问题,text 的属性由 interactable 来决定能否输入。
B+ 问题会因为 text 设置问题在游戏 Ui 和场景内都不可见,unity 中里面可能是 1 个缺少添加 Rending 组件的问题。
ui 上的信息丢失是很可怕的问题,比如名字血条一些颜色等,关注他的前往方式 navigation 是否 miss


3.toggle 开关,也可以有多选的 toggle Group,最容易出现问题的地方就是 on value Changed
相关的测试在 uinty 里会用 1 个 bool_active 来处理,同时用 debug.log(来打印出来状态 TF)


乱入:
出现 Ui 异常闪退看不到消息问题,最好的方式就是使用 od 挂链,创造环境假设先让游戏不屏蔽 od。挂载后,设置不忽略任何异常,dll 文件生成时,同时保存一份 pdb,这样就不会没有莫名奇妙游戏崩溃假死看不到消息。
ps:环境创造同理的还有,例如使用 Drmemory,就发布 1 个 32 位的版本。

游戏 Ui B+ 类问题

1)场景切换打开产生的 ui 问题,尤其是请求资源动画资源的场景,每次进入重载 json 和场景动画,新的 Widget 获取了一次重复的 json 导致崩溃。


2)游戏内 UI 缩放功能,进行自动寻路有偏差。这里需要考量一些测试功底,能不能立即判断出多少分辨率下这样缩放会有问题,绝大部分游戏内 ui 可缩放在寻路地图上都有问题。


3)boss 或者升级动画有一定播放时间的,这个时候呼出一些和最顶层的 ui,ui 是否会有异常,有时候 ui 会产生卡主的问题,游戏是否可以正常进行。


4)接上,boss 或者升级动画有一定播放时间的,呼出选项中选择美术等级,ui 是否会有异常,游戏是否可以正常进行。


5)自定义的控键拖动到另一些自定义控键上,当过程中会调出 tips,鼠标指针变换,很容易出 Ui 边界问题。这里在背包中锁定道具和拖拽道具都会出现类似问题。


6)Ui 边界 + 窗体外部至内,客户端容易假死。多版本客户端切换更新情况下,加载时和登陆 UI 弹出假死,可以先查看本地异常文件。


7)7)发送键盘鼠标事件,通过消息的形式抛到消息队列中,如果直接进行调用会导致程序崩溃。

_index)object not exists Visible [script:tips_game,function:show_skill_next,result:2]

某个很知名 moba 游戏 过载入界面游戏一直崩溃,崩溃的问题在 log 里得到反馈,crash 对应的符号表需要使用。
可见 UI 崩溃还能导致文件损坏,当时的一个临时方案,可以找其他用户传对应文件,覆盖损坏的文件。


测试人员拿到没有接触过的 1 个新引擎,最好是读下他的特性更新列表和之前社区里未解决性能问题在制作中进行规避他们。
引擎遗留问题,也会带来一些场景转换读条卡死(预加载,音效问题)、UI 调用卡顿。


譬如:unity 里从一开始的 OnGui 到后面的 EzGui 和 NgGui 到后面的 uGui 插件,都有不同的性能开销问题。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞
思寒_seveniruby 将本帖设为了精华贴 10月28日 17:52

加精理由: 经验宝贵.
对于 od 挂载这类的细节建议以后再多 show 下

#2 楼 @seveniruby 好的,单独写 1 次 od 的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册