unity 高级编程 主程手记
文章平均质量分 78
读书笔记
别偷喝船长的朗姆酒
我很懒,没有添加简介
展开
-
【Unity主程手记(摘录)】第一章(五)(六)排序算法和查找算法
四叉树:二维平面上的有效碰撞检测搜索范围,地形的有效展示范围,在地图上找某块方块上的人或事,以及包括二维平面的寻路网格构建等原创 2023-04-24 19:57:37 · 139 阅读 · 0 评论 -
【Unity主程手记(摘录)】第一章(四) - 委托和事件、拆箱和装箱
栈是本着先进后出的数据结构(LIFO)原则的存储机制,它是一段连续的内存,所以对栈数据的定位比较快速,而堆则是随机分配的空间, 处理的数据比较多, 无论如何, 至少要两次定位。堆内存的创建和删除节点的时间复杂度是O(logn)。栈创建和删除的时间复杂度则是O(1),栈速度更快。原创 2023-04-23 21:53:28 · 453 阅读 · 1 评论 -
【Unity主程手记(摘录)】第一章(三) - 浮点数的精度问题
转换成二进制位数位数太长超过了存储位数,必须舍弃多余的位数,造成了精度损失。原创 2023-04-22 21:35:43 · 986 阅读 · 0 评论 -
【Unity主程手记(摘录)】第一章(二) - Dictory 底层源码剖析
从效率上看,同List一样最好在 实例化对象时,即 new 时尽量确定大致数量会更加高效,另外用数值方式做Key比用类实例方式作为Key值更加高效率。从内存操作上看,大小以3->7->17->37->….的速度,每次增加2倍多的顺序进行,删除时,并不缩减内存。如果想在多线程中,共享 Dictionary 则需要进行我们自己进行lock操作。原创 2023-04-22 15:02:54 · 486 阅读 · 0 评论 -
【Unity主程手记(摘录)】第一章(一) - List 底层源码剖析
List 的效率并不高,只是通用性强而已,大部分的算法都使用的是线性复杂度的算法,这种线性算法当遇到规模比较大的计算量级时就会导致CPU的大量损耗。List的内存分配方式也不合理,当其中元素不断增加会多次重新分配数组,抛弃原有数组。调用GC时候会造成压力。最好在List初始化的时候就声明Capacity。List不是线程安全的,并发情况下无法检查_size++的执行顺序,在多线程情况下使用List时应该注意安全,因此当我们在多线程间使用 List 时加上安全机制。List并不高效,但是足够通用。原创 2023-04-21 23:32:12 · 371 阅读 · 0 评论