游戏开发
文章平均质量分 58
mqdCha
这个作者很懒,什么都没留下…
展开
-
gorm v2版本
为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升。如果在没有任何条件的情况下执行批量更新,默认情况下,GORM 不会执行该操作,并返回 ErrMissingWhereClause 错误。v2版本其实是 v1.20之后的版本,用法有很大的改变。可以使用 Unscoped 找到被软删除的记录。v1 不支持批量插入,v2支持批量插入。v2在连接配置里面修改。原创 2023-04-04 16:19:10 · 408 阅读 · 0 评论 -
golang log日志库优化
通过在此基础上构建高级SugaredLogger,zap允许用户选择何时需要计算每个分配,以及何时他们更喜欢更熟悉、类型松散的API。基于反射的序列化和字符串格式昂贵得令人望而却步——它们是CPU密集型的,并进行许多小的分配。换句话说,使用encoding/json和fmt.Fprintf来记录大量的interface{}s会使您的应用程序变慢。正如其自身的基准套件所衡量的那样,zap不仅比可比的结构化日志包性能更高,而且比标准库更快。zap日志输出,确定类型的输出确实很快,那么不确定类型会怎么处理呢?原创 2023-04-04 16:18:18 · 328 阅读 · 0 评论 -
go fmt分析
从部分源码中可以看出,需要先构建pp一个结构体,结构体中包含一个 buf来存需要标准输出的内容。常用的函数Println调用Fprintln,Printf调用Fprintf。原创 2023-04-04 16:16:36 · 72 阅读 · 0 评论 -
go testing
当一个测试的测试函数返回时, 又或者当一个测试函数调用 FailNow 、 Fatal 、 Fatalf 、 SkipNow 、 Skip 或者 Skipf 中的任意一个时, 该测试即宣告结束。一个基准测试在它的基准测试函数返回时,又或者在它的基准测试函数调用 FailNow、Fatal、Fatalf、SkipNow、Skip 或者 Skipf 中的任意一个方法时,测试即宣告结束。但跟单元测试不一样的是,为了避免基准测试的结果受到日志打印操作的影响,基准测试总是会把日志打印出来。原创 2023-04-04 16:12:29 · 84 阅读 · 0 评论 -
tc流量限制
控制处理对像:qdisc(排队规则)、class(类别)、filter(过滤器)。普通延迟一般在20ms~30ms,丢包率 45%以内,抖动20ms左右。1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅。51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿。31~50ms:良好,可以正常游戏,没有明显的延迟情况。100ms:差,无法正常游戏,有卡顿,丢包并掉线现象。原创 2023-04-04 16:11:31 · 455 阅读 · 0 评论 -
后端服务常见问题解决方案
1 token生成 token = md5(uid+timestamp+nance) 存到redis,根据业务设置不同的有效时间。2 消息合法性(防篡改) 数字签名 e.g. req:{ uid int param1 int param2 int sig string } sig = md5(uid+param1+param2+token) 也可参考: kong插件hmac-auth3 幂等 方案一:...原创 2021-12-13 17:38:38 · 2545 阅读 · 0 评论 -
常用游戏服务架构(tcp/ws,golang技术栈) 篇二
上一篇概述房间类型游戏架构(无场景)。本篇概述mmorpg。大地图是逻辑意义上面的无缝地图,其背后的本质还是地图分割,单个服务节点一个地图块。常用九宫格划分,不过也可以根据具体的场景容纳人数,高峰人数来划分。场景服务(战斗服): 主要为多人位置(技能)同步,伤害计算判定等(范围检测),基本都是广播。场景管理服务:玩家场景切换,无缝地图场景切换(具有中间态)。ai服务:mmo大多有大量的野怪,ai寻路,ai行为树等很吃CPU,可用navmesh。对于服务来说,ai和玩家本质上没有.原创 2021-12-13 16:15:59 · 3792 阅读 · 0 评论 -
常用游戏服务架构(tcp/ws,golang技术栈) 篇一
房间类型游戏服务常用架构原创 2021-12-09 11:51:45 · 5865 阅读 · 0 评论 -
常用游戏服务架构(http,golang技术版)
常用游戏服务架构(http,golang技术版)原创 2021-12-08 17:16:09 · 877 阅读 · 0 评论