- 博客(6)
- 收藏
- 关注
原创 Go游戏服务器开发的一些思考(四十二):golang语言Interface接口的性能问题
最近在做C++代码到Go代码的翻译中,发现不少Go语言性能上与C++代码的差距。本文介绍下 Interface接口传参的性能问题。测试代码package benchmarksimport "testing"type ITestObj interface { GetPropX() int SetPropX(x int)}type Obj struct {...
2018-05-31 22:10:18 3101 1
原创 服务器3D场景建模(九):RecastNavigation之Detour数据结构
dtNavMeshdtNavMesh是Detour中表达3D场景的数据结构。作者给的注释为:/// A navigation mesh based on tiles of convex polygons./// @ingroup detourclass dtNavMesh{ // ... (代码略)...} A navigation mesh based o...
2018-05-11 15:34:16 4977
原创 服务器3D场景建模(七):四叉树的邻居关系
四叉树的邻居节点?常见的AOI使用Tile为基础,来实现。每个Tile周围有8个邻居。因此在游戏对象移动或AOI时,可以O(1)的时间复杂度,定位8个邻居Tile。而经典的四叉树代码实现,是没有邻居节点概念的。图1,A节点的邻居节点: A节点有B、C、D、E、F、G邻居节点。经典的四叉树代码实现,是需要从根节点开始遍历,才能够访问到邻居节点E、F、G。图2,某AOI操...
2018-05-05 17:24:43 1908
原创 帧同步的一些思考(二):平滑位移与UDP通信
平滑位移前面在IO游戏同步系列文章中介绍过客户端影子追随算法:渲染球追着逻辑球位移逻辑球没更新,则渲染球保持逻辑球当前速度继续做位移(当前速度为0,即为停止状)这样在可以接受的网络中,画面可以保持流畅。上述 影子追随算法,在帧同步游戏中同样适用。帧同步游戏本身就是 游戏逻辑与渲染逻辑相分离 为基础;影子追随算法也是这样。2者有天然的契合度。可以接受的网络前...
2018-05-04 22:56:21 5137
原创 帧同步的一些思考(一):浮点数与计算确定性
历史问题对浮点数处理,涉及编译器、硬件等对浮点数2进制表示的细节不一致,都有可能,对同一输入的浮点数计算,产生不同的结果。 但是如果你愿意做大量的工作,让你的编译器“严格”符合IEEE 754编译模型以及限制你所使用的浮点数操作的集合,你或许可以让不同的编译器和不同架构的机器能都对浮点数计算得到完全一致的结果。这通常会导致显著降低浮点计算的性能以上摘至 游戏网络开发(五):浮点数...
2018-05-02 17:11:28 6789 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人