- 博客(69)
- 资源 (4)
- 收藏
- 关注
原创 数据结构-二叉查找树(BST)
每次都能根据大小去舍弃另一半的分支,极大的减少的比对次数。二叉树的前驱和后继是按中序遍历计算的,L称为前驱,R为后继。BST的删除比较复杂,需要先了解二叉树的遍历顺序。具体的性能,取决于树的层数和平衡程度。
2023-10-09 09:29:17
355
原创 DirectX12学习笔记-创建窗口
WndProc是窗口过程函数(每个窗口都有一个WndProc函数,用于接收和处理窗口相关的消息,如鼠标点击、键盘输入、窗口大小调整等。我们调用WinMain启动窗口,然后在WinMain初始化和启动消息循环。消息会传入OnEvent,很快乐,成功创建了一个窗口。//然后就实现窗口吧。
2023-09-25 18:45:09
328
原创 CPU三级缓存原理与优化
各个层级的速度和空间大小可以参照上图,图中以普通的家用计算机为例子粗略的估计了数据,请不要有刻板的印象(不同配置的机器可能产生较大的误差),而且不是所有CPU都按照三级缓存的结构进行存储的。Disk就是我们常说的硬盘,一般分为两种,SSD(固态硬盘)和HDD(机械硬盘),现代的计算机很少见到机械硬盘了,固态硬盘的访问速度相对于RAM来讲,要断崖式的下降,但是可用空间也是爆炸式的增长。L1缓存分成两部分,指令缓存和数据缓存,指令缓存用于存储最近使用的指令,而数据缓存则存储最近使用的数据。我们称为“三级缓存‘
2023-09-19 13:49:21
1818
原创 游戏开发初等数学基础
1. 立方体(Cube):2. 球体(Sphere):3. 圆柱体(Cylinder):4. 锥体(Cone):) (其中 rrr 是底面半径,hhh 是高度)。体积公式: 13πr2h\frac{1}{3}\pi r^2h31πr2h (其中 rrr 是底面半径,hhh 是高度)。5. 圆环(Torus):1. 矩形(Rectangle):2. 正方形(Square):3. 圆(Circle):4. 三角形(Triangle):5. 梯形(Trapezoid):6. 圆环(Annulus):1.
2023-09-17 16:58:32
2514
原创 线性代数基础-矩阵
(实际上就是我们所说的排列组合,符号是A,arrange)比如 1,3,6,7,9就是标准序列比如有一个序列:{1,6,9,2,3,4}遍历该序列,看每个数之前有几个数比它大,加和就是逆序数的值排列的奇偶性与逆序数的奇偶性相同对换相邻元素的,称为“相邻对换”经过任一次对换,排列的奇偶性改变奇排列变成标准序列的对换次数是奇数,偶排列变成标准序列的对换次数是偶数∣abcd∣=ad−bc\begin{vmatrix} a & b \\ c & d\end{vmatrix} = ad-bcac
2023-09-17 15:40:58
949
原创 Unity 3D ScrollRect和ScrollView回弹问题的解决
他就认为你的全部Cell加起来就跟Content一样大,所以才出现了这种完全回弹。
2023-08-05 14:38:02
1440
原创 C# SourceGenerator 源生成器初探
注意: 坑极多。而且截至2023年,这个东西仅仅是半成品利用SourceGenerator可以在编译结束前生成一些代码参与编译,比如编译时反射之类的,还有模板代码生成都很好用。
2023-07-28 17:17:34
1467
1
原创 C++ easyx大一期末作业利器
紧跟着1.0版本的完成,又到了激动人心的C++期末作业了。(上学期是C语言的),这学期,我仅仅改了一点点上学期的期末作业,然后很轻松的水…啊不,完成了这次的期末作业。所以,大家一定要注重复用!!!很快乐。这个改一改就是你的…啊不是,我是说基于框架进行开发(滑稽)定位:针对于简易C++管理系统开发,提供简单的基于easyx的GUI固定渲染和简单的无限层级菜单解决方案使用基础:有一定面向对象基础和IMGUI使用经验,或者easyx的使用经验。
2023-07-27 09:55:46
538
原创 Unity VisualScripting(Bolt)自定义Node(带详细注释)
效果:获取一个物体的全部子物体和孙物体等从属物体。定义完需要重新生成节点。
2023-07-20 00:17:25
878
原创 Unity 2D 针对单个物体的空气墙(能指定物体的碰撞器)
笔者也是废了九牛二虎之力才发现这个API并选择一种相对效率高还简单的实现方法。然后本脚本会自动取消列表外的全部碰撞,以实现指定的空气墙效果。这样可以实现只跟列表里的物体能发生碰撞。克服了同层级空气墙的问题。
2023-07-20 00:00:56
957
原创 C/C++ 高效判断素数原理和代码实现
在实际使用中,虽然降低了素数判断次数,但是仍然是一个不小的遍历,所以常用动态规划的方式去存储素数,或者一次性判断一大堆素数存表以备使用。所以只需要检查小于根号x的数,就可以对一个大数x进行质数判断,而不需要将x遍历到x-1,极大减少了计算量。对于一个数x,如果存在一个因数i使得x可以被i整除,则一定存在另一个因数j,使得 i * j = x。如果16的因数是4和4(4 * 4 = 16),4是不大于根号16的那个因数。也就是说,只要在[2, sqrt(x)]范围内检查有无可以整除x的因数即可。
2023-07-19 14:48:31
604
原创 C语言 register关键字
1.作用: “建议”编译器把变量放到寄存器内,编译器不一定听你的(傲娇)!!2.速度:寄存器>高速缓存>内存,寄存器空间很宝贵(非常非常少)3.寄存器不支持取地址, 不支持静态**
2023-07-19 14:20:20
355
原创 浮点数float、double的存储原理
浮点数在计算机内的存储分为三部分符号位 (第1位)指数部分尾数部分(在二进制下保证在1-2之间,开头都是1可以截掉)这种结构也,并并不是位数越多越慢,在有些机器上double计算要快于float,这些并没有统一标准。
2023-07-19 14:11:13
269
原创 位操作计算规则以及用途
取反的一个用途可以是获取补码反码等,笔者并不知道太现实的用途。10 00 01 10 (运算数1)00 00 00 01 (遮罩)10 00 01 11 (结果)计算 2
2023-07-19 13:37:27
249
原创 Unity LayerMask原理和判断包含关系
LayerMask使用位操作来管理和检测包含在其中的图层,例如,如果游戏对象属于第0层和第2层,那么对应的LayerMask值就是:1
2023-07-18 15:45:19
1857
原创 Unity URP 2D光照导入与配置
URP 全称为 Universal Render Pipeline(通用渲染管线)。它的特点是在手游和端游均能在保持性能的同时有良好的效果也就说在多数情况下,在下面的平台使用是这样的情况.(不代表不能用,只是不适合)BuiltIn RPURPHDRP移动VVXPCVVV其中HDRP的效果最佳,但是在移动端往往不足以支撑。而URP效果稍次,但是性能优异,而BuiltInRP…一言难尽。其中如果你想使用2D Light,就选URP,如果制作2D游戏,就选URP。
2023-07-18 14:50:34
3910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人