- 博客(19)
- 收藏
- 关注
原创 【Box2DSharp笔记】粗检测broad-phase
对于一个有N个物体的场景,如果两两进行碰撞检测,则计算复杂度为O(n2n^{2}n2在一个物理步长(Step)内,碰撞检测可以分成narrow-phase和broad-phase两个阶段。broad-phase使用动态树降低管理数据方面的开销,筛选出可能碰撞的刚体对,narrow-phase才进行真正的碰撞检测。
2024-09-16 16:52:28
462
原创 【Box2DSharp笔记】动态树DynaicTree
动态树在box2DSharp项目中主要用于优化粗检测(broad-phase-detection)过程,管理大量动态物体,并结块查找潜在碰撞对的速度。
2024-09-14 10:32:50
645
原创 【ET7.0】ETTask分析
用于消除异步方法中缺少await的警告。请注意CompletedTask后面的代码仍然是同步执行的。这种情况我们在中分析过。
2023-08-23 15:09:55
676
原创 【深入浅出C# async/await】自定义Task
读完前三章相信大家已经对async,await,task有一个大概的了解。那么接下来,我们尝试以下自己写一个Task。自定义Task实现简单测试一下可以看到MyTask实例可以被await。除此之外,我们可以注意到,TaskTest()实际上并不是一个异步的方法,TaskTest中会阻塞主线程,这是为什么呢?在反编译的方法中,启动了状态机,但是此时IsCompleted为true,也就是说MyTask已经完成,看代码,我们会同步执行await之后的代码。
2023-08-22 17:38:18
944
1
翻译 【深入浅出C# async/await】运行时上下文
part1 -【深入浅出C# async/await】编译篇part2 -【深入浅出C# async/await】理解 awaitable-awaiter 模式part3 - 【深入浅出C# async/await】运行时上下文在一个带有await关键字的异步方法中,所有的代码都被编译成一个状态机的MoveNext()方法。当调用这个异步方法时,状态机就会启动。随着状态的改变,MoveNext()会以类似回调的方式被调用。try {}});}});
2023-08-19 12:31:31
475
翻译 【深入浅出C# async/await】理解 awaitable-awaiter 模式
Part1中我们展示了任何Task都是可等待的。实际上还有其他可等待的类型。//返回 ConfiguredTaskAwaitable.它拥有一个GetAwaiter方法,实际上在Part1我们在Task中也看到了GetAwaiter()。另外一个例子是同样,它只有一个GetAwaiter(),本文将主要探讨什么是可等待的。
2023-08-18 20:43:05
1094
1
原创 【ET6.0】 C#多线程
记录了async, await,Task,SynchronizationContext同步上下文,TaskScheduler的用法。
2023-08-13 21:00:08
270
原创 [ET框架学习]理解Socket
Socket(套接字)是应用层与TCP/IP协议族通信的中间软件抽象层,简单来说它是一组接口,也就是一套供应用程序调用的API。Socket把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,只需要使用Socket提供的API接口就可以了,至于说如何让数据变成符合指定的网络协议的传输要求,Socket会自行完成。
2023-05-14 19:27:25
261
2
原创 buildSettings中Currently selected scripting backend (IL2CPP) is not installed
解决Currently selected scripting backend (IL2CPP) is not installed。
2023-04-26 22:20:38
4794
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人