金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 656596
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11032)
2.?SVN中邪惡的replace(10955)
3.?VS2005編譯libevent(10413)
4.?混音算法的學(xué)習(xí)與研究(10203)
5.?C調(diào)用lua腳本的效率測試(9007)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
protobuf定義低帶寬的移動消息
protobuf定義低帶寬的移動消息
(金慶的專欄 2017.8)
用protobuf定義協(xié)議時,可利用protobuf的編碼方式將移動消息壓縮到盡量小。
service Battle {
// 移動變化量。將廣播給其他玩家,包括自己。
// 移動受步長限制。自動轉(zhuǎn)向移動方向。
rpc Move(Movement) returns (rpc.EmptyMsg);
// 轉(zhuǎn)向最終面向。將廣播給其他玩家,包括自己。
rpc TurnTo(Rotation) returns (rpc.EmptyMsg);
}
// 位置,移動和角度都用整數(shù)向量表示,單位為分米.
// 使用整數(shù)占用的帶寬比浮點數(shù)少。
// U3d使用以米為單位的浮點數(shù),需要轉(zhuǎn)化。
message Position {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 移動時發(fā)送移動量。不是發(fā)送絕對位置,使用更小的數(shù)字,占用更少帶寬。
message Movement {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 角度向量在滿足精度的前提下,應(yīng)該盡量使用絕對值小的數(shù)據(jù)表示,占用更少帶寬.
message Rotation {
optional sint32 x = 1;
optional sint32 y = 2;
}
// 位置和面向。用于初始化對象。
message PosAndRot {
optional Position position = 1;
optional Rotation rotation = 2;
}
說明
* 名字短點。因為RPC消息中需帶服務(wù)全名和方法名,所以package, service, method名字要短點
* 坐標(biāo)用整數(shù)表示。浮點數(shù)會固定占用4個字節(jié),而接近0值的整數(shù)值只占用不到一個字節(jié)。
* 使用移動變化量。地圖可能很大,絕對坐標(biāo)值較大會占用變多字節(jié),而移動量總是接近0
* 角度使用向量更容易處理。也可使用整數(shù)的角度值(0-360)表示,但處理麻煩。
* 移動隱含了轉(zhuǎn)向。所以轉(zhuǎn)向消息不多,不必太在意大小。
* sint編碼壓縮最大。要求地圖坐標(biāo)應(yīng)該都在0附近,正負(fù)各半。
* 單位選擇不要太細(xì),分米到厘米都可以。
posted on 2017-08-23 11:50
金慶
閱讀(415)
評論(0)
編輯
收藏
引用
所屬分類:
2. 網(wǎng)游開發(fā)
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應(yīng)答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
久久青青草原精品国产不卡
|
精品熟女少妇AV免费久久
|
www久久久天天com
|
久久亚洲高清观看
|
国产精品久久久久蜜芽
|
午夜精品久久久久久99热
|
99久久精品免费看国产一区二区三区
|
久久99久久无码毛片一区二区
|
久久不射电影网
|
欧美午夜A∨大片久久
|
婷婷久久综合九色综合九七
|
久久AV无码精品人妻糸列
|
精品国产福利久久久
|
久久精品国产亚洲AV影院
|
日本精品久久久久中文字幕
|
99久久国产宗和精品1上映
|
精品久久久久久国产三级
|
一本久久a久久精品vr综合
|
久久久久久A亚洲欧洲AV冫
|
久久久婷婷五月亚洲97号色
|
午夜精品久久久久
|
国产精品免费久久久久久久久
|
久久综合给合久久国产免费
|
精品久久久久久国产潘金莲
|
久久久WWW免费人成精品
|
国产亚洲美女精品久久久久狼
|
久久久久亚洲av综合波多野结衣
|
国产成人综合久久综合
|
一本色道久久综合亚洲精品
|
一本色综合久久
|
色99久久久久高潮综合影院
|
久久久国产精品网站
|
香蕉久久av一区二区三区
|
亚洲婷婷国产精品电影人久久
|
亚洲一区中文字幕久久
|
91久久香蕉国产熟女线看
|
久久精品国产精品国产精品污
|
国产精品一久久香蕉国产线看
|
亚洲欧美日韩久久精品第一区
|
久久精品亚洲AV久久久无码
|
久久久久久久波多野结衣高潮
|