自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 SLG的高竞争业务中避免使用锁的槽位锁设计方式

以此来解决数据竞争问题。开启40个玩家协程,为每个角色分配一个唯一的协程来处理他的操作,那么采用角色ID对协程数量取模的方式,可以获得一个唯一处理该角色的协程,那么,解决了单协程处理所有玩家操作的性能瓶颈问题,提升了并发能力,并且保证了玩家自己的操作不会被多个协程同时处理,保证了处理的有序性。经过测试,处理器为16核,1万玩家数据进行共计进行100万次金币改变,加锁方式的平均处理时间200ms,1协程处理时1300ms,8协程处理时850ms,16协程处理约为160ms,32协程处理约为130ms.

2023-04-27 01:28:20 186 1

原创 如何保证golang的协程可控-协程管理器

研发过程和实际使用中发现golang中开启协程很容易,但是管理起来很麻烦,无法有效检测协程内容运行情况,协程崩溃,协程使用的chan阻塞情况,并且无限制增长的协程会为程序带来风险。管理器需要保证停止时统一安全停止所有协程,调用此方法会正确停止所有加入管理器的协程并且触发协程关闭的钩子,以供协程接口实现停止后的功能处理。管理器的生命周期基本与应用的生命周期相当,在加载必要的应用信息后,应当尽早的启动管理器,至少要保证管理器的启动要在向其添加协程管理之前。达到统一实现以上设计目的。

2023-04-27 01:23:52 494 1

原创 SLG服务器中的时间玩法高效设计-时间轮

采用时间划片的方式,将需要在某个时间执行的任务包装成时间片事件,绑在时间片,随着固定的时间轮询频率,依次唤醒时间片上的事件,可以理解为时间是一条弹链,时间片就是弹链上的子弹,事件就是子弹里面的各种功能的弹头,随着时间的流逝,弹链上的子弹被有序击发,子弹被击发时,根据弹头打击到目标的效果,决定是否对未来的某个时间片的子弹进行装弹.SLG服务器业务中存在大量的定时任务,传统的处理方式是以服务器按照固定的时间频率进行轮询,在一次轮询中,将所有需要轮询的任务全部检测一遍后,对满足定时任务要求的任务进行处理。

2023-04-27 01:21:43 505 1

原创 SLG服务器框架设计说明

2.Central从数据库读取各模块IP及端口,服务器的数据库及Redis配置,向对应模块所在的目标机器发送Bash命令,命令模块启动,携带参数为模块ID/Central的IP及端口/启动的环境变量,然后等待模块启动后向Central建立链接。4.Central收到模块的注册消息后,验证通过后,等待所有模块全部完成注册后,向所有模块推送数据库及Redis信息,推动各模块进行数据加载,并且同步Logic和World的时间轴。

2023-04-27 01:18:10 1119 1

原创 游戏设计总结-1.从立项开始

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2020-07-16 02:55:11 908

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除