Unity面试题 每日5题 06
26. 如何实现战争迷雾
后续Unity实现后分享
27. Unity优化手段,Draw call ( cpu gpu)
概念:Draw call就是一个命令,它的发起方是CPU,接收方是GPU。这个命令仅仅会指向一个需要被渲染的图元列表,而不会再包含任何材质信息。当给定一个Draw Call时,GPU会根据渲染状态和所有输入的顶点数据开始进行计算。CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。
如果Draw Call的数量太多,CPU就会把大量时间花费在提交Draw Call 上,造成CPU的过载,会影响帧率。
哪些手段可以减少Draw call次数:
1)Solid Color模式能满足需求的时候使用用Solid Color模式
2)尽量减少使用多个Canvas
3)尽量把同类型组件放在一起(因为如果一个Text,一个Image这样混着来,每个Text和Image都会产生Drawcall)
4)尽量使用图集,把多个小图片合在一起(如果每个Image都显示不同图片,那么每个Image都会产生1个Draw call)
5)减少实时光照的使用,可以烘焙成光照贴图去代替实时光
28. Pbr最重要的参数,几个方程
反射率方程
Lo(p,wo)=∫Ω(kdcπ+ksDGF4(wo⋅n)(wi⋅n))Li(p,wi)(wi⋅n)dwi
具体内容太过复杂,具体转载见每日5题 06补充
29. 如何搭建一个pbr工作流
PBR的工作流程主要分为两种,一种是基于金属的工作流 (Metal-Roughness),一种是基于镜面反射的工作流 (Specular-Glossiness)。Unity支持两种工作流,而UE4则只支持metallic工作流。
流程大概:基础模型->高模制作->拓扑->展UV->烘焙贴图->SP贴图制作->导入引擎
笔者曾经使用过PBR工作流程,对应软件MAYA,Z-brush,Substance Painter,Unity(UE)
30. Topk问题以及变种,各种解法
topK问题是经典的算法问题,其大意是从一个序列中找出最小(大)的k个数,面对这个问题最简单的方法当然是先排序后取前k个数,但这样有些浪费时间,比较经典的方法是借助快排和堆排的思想。
参考题目:
215. 数组中的第K个最大元素
具体解法可以有暴力,快排,冒泡排序,归并排序深度优先搜索,分治等等
这里分享JAVA冒泡排序:
class Solution {public int findKthLargest(int[] nums, int k) {for(int i = 0;i < k;i++){int max = i;for(int j = i+1;j < nums.length;j++)if(nums[j] > nums[max])max = j;if(max!= i){int temp = nums[i];nums[i] = nums[max];nums[max] = temp;}}return nums[k-1];}
}
更多解法不妨去力扣题解看看
Unity面试题 每日5题 06相关推荐
- Java实习生常规技术面试题每日十题Java基础(七)
目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...
- Java实习生常规技术面试题每日十题Java基础(八)
目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java实习生常规技术面试题每日十题Java基础(五)
目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(一)
目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java实习生常规技术面试题每日十题Java基础(三)
目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...
- PMP模拟试题每日5题(5月7日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.产品开发团队采用敏捷开发 ...
最新文章
- lightgbm简易评分卡制作
- python分类预测降低准确率_python实现吴恩达机器学习练习3(多元分类器和神经网络)...
- kprobe原理解析
- jsp mysql论坛_使用SSM和ajax做一个简易的论坛-01(简介和建表)
- html如何让字体自动变色,CSS使文字部分变色
- if中有return理解
- struts2中处理get请求乱码
- 大转盘抽奖小程序源码
- Android10手机OTG按钮,我又来了-荣耀10青春版手机OTG功能你会用吗?
- 一文详解什么是代理模式
- Linux共享内存使用常见陷阱与分析
- Go: 内置net/http库解析
- 2021中国大数据企业50强
- python编程应用中级_如何利用Python辅助开发HSK中级课程-数据统计篇
- 为什么浏览器会限制ajax并行请求数量,有办法突破限制吗
- 网上下载的PPT模板总是会自动切换、自动播放动画,怎么取消自动播放
- wps通过vb宏来查看文档中使用的所有字体
- 射影几何----证明抛物线有一个焦点且只有一个焦点
- 计算机到未识别网络有个叹号,上网异常:出现黄色感叹号不能上网的两种解决方案...
- 温故而知新,不亦悦乎!