2017
11-26

Google ProtoBuf协议介绍 562 VIEW

Protocol buffers(简称protobuf)是谷歌提供的一种轻便高效的结构化数据存储格式,类似于xml与json,可用于结构化数据的序列化。protobuf是一种二进制格式,比xml更小,更快,更简洁。适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,能够减少数据传输量。据了解微信(例如微信客户端蓝牙外设协议)与QQ也在使用protobuf,我目前在学习的百度开源的rpc框架brpc也在使用。protobuf目前提....Read More >
2017
11-26

浅谈吃鸡游戏大地图加载 466 VIEW

最近最火的游戏莫过于各种“吃鸡”,自己也是一个fps游戏爱好者,玩过很多枪战游戏,这次也玩了腾讯cf手游的荒岛特训模式以及网易的荒野行动。吃鸡类游戏都是一个开放的大地图,由于手机配置没PC高,而且容易发热,续航是问题,所以玩这两个游戏时,能明显感觉到地图是动态加载的。当角色移动时,前面的物体才逐渐加载出来,这样做也是为了节省内存,减少资源占用。记得大学时,做碰撞检测写过一个虚拟场景漫游系统,那时我用到了大地图分块技术节省内存,建模时将3d场景切块分区,当人物靠近某块区域时,才加载某块对应....Read More >
2017
09-28

DXGI中的flip显示模型 849 VIEW

DXGI中的flip显示模型 从win8开始,就增加了flip显示模型,通过该显示模型,程序可以减少系统开销,同时增加性能。基于intel media sdk解码,d3d11渲染,在我自己的电脑上通过对比,该模型确实可以明显降低CPU负载,渲染时间几乎忽略不计。不过坑爹的是,在部分独显不同电脑上,该模型并没有发挥出来该有的作用,反而增加GPU很大的负载,得不偿失。在d3d12中只支持flip model渲染,我想这些坑爹的....Read More >
2017
09-18

CreateSwapChainForHwnd返回0x887A0001错误 855 VIEW

IDXGIFactory2::CreateSwapChainForHwnd 创建交换链时,返回0x887A0001错误,也就是DXGI_ERROR_INVALID_CALL,查了下,原来是一个窗口句柄只能绑定一个flip显示模型交换链。附上MSDN上的解释:Because you can associate only one flip presentation model swap chain at a time with an HWND, the Microsoft Direct3D ....Read More >
2017
08-27

今日头条Go建千亿级微服务的实践(转) 521 VIEW

今日头条Go建千亿级微服务的实践(转) 今日头条当前后端服务超过80%的流量是跑在 Go 构建的服务上。微服务数量超过100个,高峰 QPS 超过700万,日处理请求量超过3000亿,是业内最大规模的 Go 应用。 Go 构建微服务的历程 在2015年之前,头条的主要编程语言是 Python 以及部分 C++。随着业务和流量的快速增长,服务端的压力越来越大,随之而来问题频出。Python 的解释性语言特性以及其落后的多进程服务模型受....Read More >
2017
08-14

流媒体网络性能指标——抖动 2216 VIEW

流媒体网络性能指标——抖动 有时候我们开发一个流媒体系统,做完了却不知道如何在数字上描述我们的系统,体现我们的优势,作为客户来说,可以描述这套系统的数字指标是最直观的。网络性能是最重要的,在流媒体网络中,影响流媒体服务器质量QOS的因素有很多,而这些因素可以作为我们衡量流媒体网络性能的指标。衡量流媒体网络性能的指标主要有:带宽 吞吐量 延时 抖动 丢包率本篇文章主要讲下抖动....Read More >