buck 发表于 2025-7-5 13:48:11

ue转小游戏

市面上小游戏开发用unity和cocos的比较多,我们公司大部分项目是ue,是否能转是个未知数,我花了半年时间证明这条路是可以的,首包(10m)和代码包大小(14m)可以做到跟unity差不多,具体做法是,去掉默认打包打出来的一些资源,去掉一些编译选项,比如如果不用phyx的话,也可以省不少。

buck 发表于 2025-7-5 13:48:29

那么问题来了,为啥市面上没人用ue做小游戏?甚至ue官方都不支持?不知道是否ue开发难度大

buck 发表于 2025-7-5 13:48:48

手机gpu和pcgpu区别
pc gpu主要是IMR (Immediate Mode Rendering),

每次都写framebuffer和depthbuffer,优点是可以处理大量几何体,可以

手机gpu主要用tilebasedrendering

buck 发表于 2025-7-5 13:49:26

渲染到tiledbuffer,还使用hsr提出不渲染几何体,优点是节省带宽,提高性能,但是有分块有开销,尤其是几何体太多的话代价很大,而且不支持通用并行计算。tbr高度依赖本地缓存,如果缓存经常失效就没法优化了,比如一些高级技术如ao,gi,光追等高级技术都需要额外数据计算tile结果,这个时候本地缓存失效。

总结下:移动端几何体少而且没有复杂技术用tbr可以减小带宽使用,提升效率

buck 发表于 2025-7-5 13:49:43

lua内存优化
这个问题还是没有头绪,在我们之前项目(ue)中,这种问题都是因为游戏中object太多了,把object降下去基本就搞定了。面试官的问题是加入一个项目lua占用内存很大,怎么办,可能第一个还是还是object数量太多了。如果object数量不多呢?

buck 发表于 2025-7-5 13:50:01

修改lua内存分配器,统计各种内存大小?tbl,string,userdata,upvalue,proto

实在不行把每一个内存分配都记录下来,用分配栈做索引,看哪里分配最多?

buck 发表于 2025-7-5 13:50:18

lua字节码优化
这个没有头绪,怎么优化呢?我们之前使用确实字节码很大,当然,跟texture比也就算不了什么了,也就没考虑。

采用类似js的方式?把字节码中用到所有字符串代替为较短的字符?

buck 发表于 2025-7-5 13:50:34

hdr
什么是hdr,hdr怎么映射会ldr,这个映射方式有多种,我直接答忘了,可能下次还会这么回答,毕竟有很多种方式,各有各的特点。

其实这个问题比较简单,问的更多的是什么是tonemapping,tonemapping就是把计算的颜色空间映射到显示的颜色空间,当然最基本的就是hdr到ldr,其实pbr里面还有更复杂的。

buck 发表于 2025-7-5 13:50:51

三角形渲染小于一个像素会有一个问题
这个问题在游戏中不应该出现,如果发生了那就是lod做的不好,需要修改lod,具体会有什么问题查了下是这样的:

buck 发表于 2025-7-5 13:51:07

1.光栅化效率低下
每个亚像素三角形仍需遍历整个光栅化管线
产生大量无效或重复的片段处理
现代GPU的2x2像素quad渲染方式导致额外浪费(即使三角形只覆盖1个像素)
页: 1 [2] 3
查看完整版本: 四零大龄程序员的求职面试经历