自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 为什么要使用ECS(记录)

ECS架构通过数据连续存储提升性能,相比OOP的堆内存碎片化问题,ECS将组件数据紧凑排列在内存块中,显著提高CPU缓存命中率。项目采用六边形地块和屏幕坐标计算实现动态加载,利用ECS的并行处理优势。结构体组件相比类更高效,避免GC开销且兼容Burst编译器。Burst通过限制托管类型和.NET功能,将C#代码编译为高度优化的本地机器码,充分发挥硬件性能。ECS实体与GameObject分离,减少Hierarchy开销,通过System批量处理实现高效更新。

2025-11-29 18:19:12 389

原创 Unity经典常问问题

(客户端会进行“输入预测”,(视觉看到的别人),如果预测错误由服务端在短时间内进行矫正,达到消除延迟,让玩家操作感觉更加即时)但也不能太过依赖GC,要避免同一帧大量的new对象,避免内存峰值,因为mono的内存是只增不降的不会返还给系统的。GC可以通过分代机制使遍历不那么暴力,移动的都是0代里面一些细碎的对象,1代和2代的移动对象比较少,能提高效率,不需要手动释放内存,回收这个不再使用的内存,自动移动内存块,使下次分配内存可以获得足够的完整的块,不能,值类型分配在栈上,不需要GC回收,

2023-07-12 16:25:42 140 1

原创 对象池的基本思路

2022-03-18 16:29:58 147

原创 不同父容器找相对位置坐标(量子力学)

public static Vector3 getBPosInAParentContainer(Transform transA_,Transform transB_){ return getBPosInAAsContainer(transA_.parent.transform,transB_); }private static Vector3 getBPosInAAsContainer(Transform transAContainer_,Transform transB_){

2021-05-21 14:35:48 170

原创 Drag拖拽UI方法

Drag拖拽UI方法RectTransformUtility.ScreenPointToLocalPointInRectangle(Transform父节点,Transform子节点(鼠标坐标),事件相机,out Verctor3 输出坐标)拖拽的物体.locationPositon= 输出坐标;RectTransform(子节点想要以某个父节点的中心点UGUI坐标,说白了就是你想要以谁为中心),SceenPoint(屏幕坐标,因为是2d的,所以只能是屏幕坐标,如果不是屏幕坐标怎么办,如果是场景物体

2021-05-21 14:17:33 502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除