
架构
文章平均质量分 90
常城
系统架构师,游戏编程十余年。写过多套游戏框架,技术涉及端游、页游、手游。热爱技术、热爱游戏、热爱生活、热爱一切美好事物。因为热爱,所以投入!
展开
-
游戏敏感词屏蔽词过滤
基础语言知识,由于有太多的教程和文章,还有书籍,所以本文略过。原创 2021-07-21 11:41:40 · 7811 阅读 · 0 评论 -
Unity里使用C#获取时间戳
时间戳是个常用的东西。由于C# 没有直接获得时间戳的方法,所以每次都上网随便找个算法贴上。但是今天发现网上流行的两种算法,得出的时间戳居然不一致。哪一种更靠谱呢?放到unity里测试一下: // Start is called before the first frame update void Start() { Int64 time_stamp = GetTimeStamp(); Debug.Log("time_stamp 10: " +原创 2020-11-26 10:25:32 · 4259 阅读 · 0 评论 -
Unity动态加载与内存关系3:AssetBundle (Addressable Assets)篇
接着前两篇,我们继续测试 AssetBundle 方式的资源加载,然后再销毁与卸载,观察对应的内存变化。这里不讲解AssetBundle的基本原理了,不了解的同学可以看官方手册:https://docs.unity3d.com/Manual/AssetBundlesIntro.htmlAddressable Assets说明文档:https://docs.unity3d.com/Packages/com.unity.addressables@1.8/manual/AddressableAss原创 2020-05-09 19:24:39 · 3144 阅读 · 0 评论 -
Unity动态加载与内存关系2:Resources.Load 篇
接着上一篇,我们继续测试Resources.Load 资源加载,然后再销毁与卸载,观察对应的内存变化。先说结论:1,不触发时,不占用什么资源(请对比上一篇prefab模式,那个要占, 其实就相当于Resources.Load() )2,Resources.Load() 的时候,会载入Mesh。3,Instantiate()生成游戏体的时候,会载入对应的Texture,占用内存。4,Destroy() 会马上释放小部分显存。Unity等待GC时机,再释放部分mesh和texture资源。但原创 2020-05-08 19:01:33 · 3086 阅读 · 0 评论 -
Unity动态加载与内存关系1:prefab篇
网上得来终觉浅,绝知程序要亲测。好不容易有点闲暇时间,打算把unity动态加载的几种方式,以及对应的内存占用/释放,测试一遍。这是第一篇,最简单的prefab的生成与销毁:本文使用unity2019.3测试。这里分为编辑器的【冷运行】和【热运行】。编辑器的冷运行:就是编辑器完全退出后,再启动编辑器,再运行程序。编辑器的热运行:就是在编辑器里,直接运行程序。冷热运行,profile的...原创 2020-05-08 13:21:00 · 2179 阅读 · 0 评论 -
Apache ab使用POST参数进行压力测试 (服务端为Django)
写在前面: 近日要上线一个基于HTTP协议的游戏,所以要测一下压力。 想到ab测试是比较简便的,所以用ab来测试,但是问题来了,POST参数接不到。几经测试,才发现传递POST参数的方法。 安装ab:win下直接使用Apache的工具,centos下:yum -y install httpd-tools 传递POST参数的步骤:1,新建一个文件,...原创 2016-07-07 15:04:51 · 39669 阅读 · 3 评论 -
防止核心代码泄露-项目代码保护(游戏服务器端)
重要的核心代码,是不希望被非核心成员,或者新招来的程序接触到的。否则,招个新程序,人家试用期没过,反倒把你代码拷走了,回头想攻击、破解、贩卖,都是分分钟的事儿。这种事儿,我已经见过不止一次了。本文就讲一下,如何去做代码保护。防止核心(底层)代码泄露。代码保护的基本需求:1,不影响被防范的成员(比如新程序员)工作。让其能正常运行、调试、查看日志等。2,对核心代码完全封死,需要保护原创 2017-12-28 18:30:54 · 6204 阅读 · 0 评论 -
Python-Snappy的安装 以及报错解决
直接使用pip install ,会报错: cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ snappymodule.cc:31:22: error: snappy-c.h: No such file or directory原创 2017-04-14 15:25:28 · 17290 阅读 · 1 评论 -
使用Python和C#对比跨语言压缩算法库LZ4, Snappy, LZO, gzip, glib
写在前面: 在游戏编程中,数据的处理部分,经常会遇到这样的需求: 1,服务器端(后端)传给客户端(前端)的数据需要压缩,以节省流量,加速游戏数据通信效率。 2,这种压缩/解压算法(库)必须尽量少的占用CPU资源,也就是说,压缩解压都要快!游戏卡不得! 3,这种压缩/解压算法(库)需要跨语言(有点像网络协议)。因为大多数情况下,后端和前端不是一种开发语言。原创 2017-04-14 12:37:38 · 7995 阅读 · 8 评论 -
腾讯云服务器申请SSL证书, 配置Nginx, 实现HTTPS
1,首先去腾讯云,申请SSL证书。我们这里申请的是免费的SSL,免费的可以用一年。收费的有点贵,5000起。2,按步骤申请后,得到四种主流web服务器的证书,如下:这里我们使用的是Nginx的证书:3,把证书上传到Linux服务器中。这里我新建一个了目录: /home/key_dir/ ,然后把这俩证书文件放进去。4,更改 nginx.conf 配置,使HTTPS生效:server { li...原创 2017-03-14 11:01:02 · 13433 阅读 · 1 评论 -
程序死循环导致CLOSE_WAIT
今天运营商说,测试版连不上了。查看服务器状态,nginx是正常的。再查看uwsgi 端口,出现了CLOSE_WAIT。再一看CPU占用,哦99%!之后排查程序,发现是程序有个while死循环了。 修改程序,问题解决。原创 2016-11-02 15:59:08 · 2356 阅读 · 0 评论 -
腾讯云公网IP无法访问(公网IP无法绑定-监听)的解决办法
腾讯云无法绑定公网IP的解决办法。腾讯云公网ip无法访问的解决办法。原创 2016-05-22 15:28:39 · 11350 阅读 · 9 评论 -
Centos+nginx+uwsgi+django
■ 安装uwsgi:安装uwsgi,请看我上一篇文章。■ 配置uwsgi:由于我们使用django,所以配置一个能跟django进行关联的ini:■ Nginx配置:nginx安装不在叙述,这里主要讲如何更改nginx.conf:location / { include uwsgi_params;原创 2015-02-26 11:24:29 · 3461 阅读 · 1 评论 -
负载均衡设计
最近要搭建一个高并发的网站。所以,得设计负载均衡这一块。从大的方向上讲,负载均衡分为硬负载均衡,和软负载均衡。下面依次简要说明一下:硬负载均衡:硬负载均衡,也就是使用专用的负载均衡设备。主流的硬负载均衡器有如下几种:F5:最主流的硬负载均衡器。便宜的20万以上,贵的100多万。深信服:乞丐版低配12万元起价。A10:基本都在100万元以上。Array:16-100万。看原创 2013-06-17 12:46:16 · 4335 阅读 · 1 评论 -
建立双线服务器(双线游戏服务器)
由于电信联通互访的高延迟(有时还会出现无法访问的现象),所以web游戏的服务器,一定要做成双线。实现双线的方法有很多,甚至可以从底层的包上做手脚,但是这里我们用一个简单的方式来实现一下双线:DNSPOD+服务器端socket绑定域名的方式。先说DNSPOD的设置:需要分别设置线路类型,还要由一个默认线路。当然,你的服务器需要有两个IP,一个电信的,一个网通的: www A 默认原创 2011-11-29 20:30:08 · 3946 阅读 · 1 评论