本篇属于资源制作流程,介绍了一个场景资源查询工具。非常有创意的是,工程师将美术资源数据直接导入到SQL,于是产生了强大的查询能力。此外可以从该文大致了解到巫师3的资源标准(例如超过2k面必须做LOD)。

美术可能会摆出性能很差的东西

在巫师3中,美术的创造力让他们能做出很多性能很差的东西。

美术放了一个模型,只有5%在地面上,其他都放在底下。戏称之为“泰坦尼克”。

有一个鸡肉桶,放了150万面,吐槽“这大概是最贵的鸡肉了”。

巫师3的编辑器能力

从讲座看,巫师3编辑器自由度比较高,结构为世界/图层/实体/组件的层级结构。设计师和美术人员可以编辑和修改资源,编辑组件(按:估计也是ECS系统)。也就是说,可以对导入的实体进行进一步修改,比如修改材质、粒子特效、Shader,组件有光、声音、植被。从渲染管理来看,在场景上可以手工增加碰撞体,合并mesh,增加额外的LOD层级。游戏大概有50万个实体。

解决方案:美术资源数据库

项目做了一个分析工具,可以使用SQL查询美术资源。

工具在每次夜间自动构建时自动调用,将所有美术资源的属性导出为SQL的表创建和插入文本,一次大约2GB,然后创建SQL数据库运行在服务器上,二手手机购买平台然后就可以用SQL来查询了。(作者认为有性能优化空间,且希望能实现本地版本实时看效果)

SQL查询例:

该工具客户端界面如下。上方可以输入SQL语句,如果对语句满意的话可以保存。左侧是已经保存好的查询,右侧为搜索结果列表。中间的地图可以显示查询到物件的位置,以及大小。如果你点击地图上的物件的话,你能直接传送过去看现场。地图可以存为4k的大图。

此外还有一些预制的地图分析,包括:

  • 顶点密度地图
  • 植被过密地图

列表通过google api自动导出到Google Doc,然后每个周一都通过google sheet,自动导出几个重要指标表。这样,项目组可以指派一部分开发人员作为突击队,按主题,一个主题一个主题修复问题。

实际使用效果

揪出很多故障

  • 一个Layer标记为地下、开启阴影的灯,直径为4公里
  • 地下有200个左右带骨骼动画的悬空弓,每个都有900米的视野距离
  • 发现了场景中的测试资源
  • 发现了25万面的船
  • 发现超过200个2000面以上的模型没有LOD(按:所以他们基本上所有模型都要做LOD)
  • 发现在一个32平米的区域内(按:疑笔误为边长32米)有10万个草,反馈后确认是一个程序bug

内部的评价

  • 程序和美术都很喜欢用。没有专门的测试员,美术会自己拼巨长巨复杂巨疯狂的SQL语句查询。
  • 在地图上可视化显示是非常有用的

GDC2015分享:巫师3开放世界性能优化相关推荐

  1. 疯狂架构师最强分享:分布式架构与性能优化,你学会了吗?

    分布式系统在如今越来越普及,了解分布式系统中的原理与实现更是很重要,本系列从分布式原理以及性能优化角度来剖析分布式架构 彻底搞通服务发现的原理和实现 服务发现,作为互联网从业人员,大家应该都不陌生,一 ...

  2. Flutter项目实战教程分享、基础使用、性能优化、每日积累

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力 Flutter是谷歌推出的最新的移动开发框架,本文章为横向经验积累分享目 ...

  3. 奇舞周刊第 412 期:从硬件、渲染、计算三大视角解析渲染性能优化的本质

    记得点击文章末尾的" 阅读原文 "查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞精选 ■ ■ ■ 从硬件.渲染.计算三大视角解析渲染性能优化的本质 渲染性能优化是个经久不衰的话 ...

  4. CAT 性能优化的实践和思考

    作者简介 锦华,携程高级技术专家,超过 10 年互联网研发经验,2011 年至今一直从事框架和中间件相关产品研发,对高并发.分布式中间件以及应用性能优化等有浓厚兴趣. *本文来自锦华在Qcon的分享, ...

  5. 服务器性能优化之网络性能优化

    hi ,大家好,今天分享一篇后台服务器性能优化之网络性能优化,希望大家对Linux网络有更深的理解. 曾几何时,一切都是那么简单.网卡很慢,只有一个队列.当数据包到达时,网卡通过DMA复制数据包并发送 ...

  6. sql加上唯一索引后批量插入_阿里大佬总结的52条SQL语句性能优化策略,建议收藏...

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 cnblogs.com/SimpleWu/p/9929043.html 推荐:h ...

  7. 性能优化 = 改改代码?

    大家好,我是Z哥. 好久没写技术文章了,最近正好有进行一些思考,顺手写出来分享给大家.如果不是程序员的话,可以快速扫一眼正文的几个小标题,快速略过即可,毕竟思路和专业无关,很多是相通的.(如果愿意的话 ...

  8. 前端性能优化的重要方案:图片懒加载

    大家好,我是前端岚枫,一枚二线城市的程序媛,今天主要跟大家分享我整理的前端性能优化的重要方案:图片懒加载,主要包括其原理,我们常用的一些插件,及编写源码实现图片懒加载功能等,图片懒加载是项目比较常见的 ...

  9. java高性能反射框架_终于有人把性能优化讲清楚了!阿里架构师推荐的Java性能权威指南可太强了...

    Java给大部分人的感觉就是慢,有严重的性能问题.其实程序慢的问题,与语言无关,与Java无关.Java应用的性能优化也是一个老生常谈的话题,但是只要我们深入的了解性能调优方法,走遍天下都不怕! 大多 ...

最新文章

  1. 田志刚:为什么要尊重老师?
  2. 【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分
  3. 将前端文件和Go程序打包
  4. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理
  5. freemarker 去掉最后一个逗号_从零开始做一个SLG游戏(六)游戏系统以及配置表...
  6. 摄像头预览左右翻转_轻薄翻转触控本里的高性能机型:惠普ENVY x360 13评测
  7. java 设计方法_java 中如何处理设计一个方法
  8. [git] 基础操作-02 分支和主支合并
  9. Eudemon 防火墙基本配置
  10. elsevier模板_英文论文双栏模板
  11. 2017 3月15日 上午
  12. 大数据分析工具BI应用在哪方面
  13. 解决 ‘@‘ that cannot start any token. (Do not use @ for indentation)
  14. 程序员如何避免面向监狱编程?避免踩雷!
  15. 矩阵旋转(翻转)刷题总结
  16. eclipse修改java jdk(以1.8为例)
  17. 安装quartusⅡ简明教程
  18. JAVA性能优化,让程序更快更稳定
  19. 如何看待 Google 最新的系统 Fuchsia?
  20. RADIUS报文内容

热门文章

  1. P3842 [TJOI2007]线段(线性dp,分类讨论)
  2. (十三)office2016-excel提取出生年月
  3. Deepin 微信版本太低无法登录
  4. 天津大学学硕和专硕的区别_全日制考研与非全日制还有学硕专硕的区别!
  5. 邀您一同分享财富乐歪歪童装加盟正火热进行中
  6. python 爬虫(项目实操)
  7. 英语好不好,不影响做外贸
  8. css 控制 段落 超出三行的部分显示...
  9. 域组策略与本地组策略
  10. 七参数/六参数坐标转换(小角度)-- 公共点间接平差