
架构设计
架构设计
D_Guco
it互联网/游戏
展开
-
用jemalloc代替glibc默认ptmalloc进一步提升服务器性能和负载
启动redis时,无意中看到redis的启动信息有一个jemalloc的版本信息,处于好奇了解了一下,它是一个进一步提升服务器负载和性能的神器。一 Ptmalloc Linux 系统在装载 elf 格式的程序文件时,会调用 loader 把可执行文件中的各个段依次载入到从某一地址开始的空间中(载入地址取决 link editor(ld)和机器地址位数,在 32 位机器...原创 2018-11-04 19:03:11 · 5454 阅读 · 0 评论 -
用内存池管理c++对象
当一个系统中 ,有一些对象需要频繁的申请和释放时,为了提高性能我们通常用内存池来管理这部分对象,这里给一个内存池的实现,我们用双向链表和数组实现内存池来管理c++对象。 内存池类 //// mempool.h// Created by DGuco on 17/7/29.// Copyright © 2017年 DGuco. All rights reserved原创 2017-07-29 13:55:49 · 2247 阅读 · 1 评论 -
如何利用内存池和共享内存构建高速的进程间通信模型
先聊聊内存池吧,c++把内存管理的职责交给了我们,虽然给我们带来了很多麻烦,但是同样也给了我们很大的发挥空间,对于一个长期运行的系统来说,在一段时间后,堆的内存碎片会随着我们不断的申请和释放空间而越来越多,这就造成了我们的申请内存的消耗越来越大,对于这种问题,我们可以用内存池来解决。 c++内存池的关键就在于重载new操作符,看一个简单的例子:#ifndef __POOL_O...原创 2017-06-25 12:36:17 · 5655 阅读 · 0 评论 -
libevent如何管理event
一 event简介 libevent是以event为核心的reactor模型高性能的网络库,事件类型为io时间,定时时间和信号signal事件三种。libevent巧妙的将三种时间统一起来处理极大的简化了网络程序的复杂度。那么libevent是如何管理这三种event呢?struct event { TAILQ_ENTRY(event) ev_active_next; TA原创 2018-01-21 19:30:40 · 1906 阅读 · 0 评论 -
两年多里自己都干了什么?
2016年7月份毕业,算上实习的几个月时间,工作两年多快三年了,自己都干了什么,回顾自己的职业生涯,大部分的工作都在在从事游戏服务器的开发。虽说有时候加班会很严重,但是熬过来了。但是想想过去的加班大部分的时间不过是在陪别人加班而已,作为一个初入职场的学生,自己解决为题的能力实在有限。但是说句心里话,不喜欢加班,如果非特殊情况,白天的时间完全可以完成工作任务,加班根本没必要(以上只是自...原创 2018-03-11 15:01:39 · 1306 阅读 · 2 评论 -
网游的跨服玩法是如何实现的?“跨域体系”架构设计思路
虽然游戏市场竞争激烈,产品格局变动较大,但游戏产业一直处于稳步增长阶段,无论是在端游,页游,手游还是已经初露端倪的HTML5游戏。可以预见,游戏类型中,MMOARPG游戏仍然会是引领市场的主流趋势,贡献着大部分流水,市场上也仍然在不断涌现精品。研发团队对MMO游戏的探索从来未间断过,从付费模式的改变,到题材多元化,次时代的视觉效果,更成熟的玩法及数值体系,本文主要针对跨服玩法上的探索和实现做一些思转载 2017-05-28 12:43:52 · 6182 阅读 · 0 评论 -
网络游戏网络同步方案的选择
随着电子竞技的快速发展和移动互联网的迅速崛起,手游的市场份额月来越高,不但各种原创的手游被开发者开发出来,甚至许多流行的端游也被开发者移植到手机上来,如今手游的类型多种多样,从单机到rpg,slg策略游戏,卡牌游戏弱交互游戏,以及rts,mmorpg,moba等重型多人在线游戏,其网络同步方案各有各的特点,到底如何选择游戏的同步方案呢?我们先来介绍一下常见的同步方案。一.p2p模式...原创 2016-11-17 21:07:51 · 12630 阅读 · 2 评论 -
《魂斗罗:归来》子弹中没中,没你想得那么简单!
无数玩家童年的神作重新回归,手机端多人联机,呼朋引伴一起重温当年的热血大作。除了IP,剧情,对工程师而言,《魂斗罗:归来》更要解决的联机同步和命中同步等问题,简单说,一颗子弹打没打中,没你想得那么简单! 客户端高级工程师聂鹏和田亚涛本周在《论道》开聊,小小子弹命中的大问题!移动同步 最左边是1P玩家的持续,中间是DS,右边是3P玩家。玩家走路,会有一个MoveStep,原创 2018-01-15 13:41:45 · 1369 阅读 · 0 评论 -
盛大游戏李阳:龙之谷服务器设计
9月23日,首届“梦想·匠心”腾讯游戏开发者大会于深圳举行,在技术分论坛上,盛大游戏《龙之谷》手游技术总监李阳分享了龙之谷的服务器设计。作为《龙之谷》的手游技术负责人,李阳从事多年游戏后端开发,参与多款上线项目研发。李阳于本次论坛上分享《龙之谷》手游服务器在架构设计、灾备处理、性能优化、压力测试等方面遇到的一些问题和经验总结。以下内容为分享实录:李阳:谢谢大家!我大概介绍一下我们项原创 2017-10-25 11:36:39 · 5633 阅读 · 1 评论 -
《王者荣耀》技术总监:我们为什么要在技术架构与网络同步方案上做出这些改变?
《王者荣耀》能够成为如今国内最成功的手游,其后方成熟的技术团队可以说是功不可没。这个曾经在端游时代主导搭建RTS游戏《霸三国》框架的技术团队,在转型做MOBA手游《王者荣耀》后为游戏提供了巨大的支持。但这个过程也并非一帆风顺。在今年刚结束的腾讯TGDC上,《王者荣耀》技术总监孙勋在技术专场中,对这款游戏进行了一次技术复盘,为听众嘉宾就从技术层面上讲解了游戏在引擎、整体网络架构与网络同步方案上的尝试原创 2017-09-26 09:43:59 · 12351 阅读 · 4 评论 -
用ECS架构完美实现帧同步
很早之前写过一篇关于网络游戏同步方案的文章:网络游戏网络同步方案的选择,里面谈到帧同步,这里就谈一下帧同步的一种实现方式吧,主要还是以收集资料为主。 首先说一下帧同步最简单的一种实现,很简单就是服务器对客户端上行的所有指令不做任何计算直接转发给所有相关的客户端,客户端在自己本地根据服务器转发的指令做计算展现游戏数据和画面,只要所有的客户端的计算逻辑是一样的就不会出现大家看...原创 2019-11-17 16:36:42 · 4161 阅读 · 0 评论