锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆姣斿鏈変竴涓帺瀹禔鍚戞湇鍔″櫒鍙戜簡鏉℃寚浠わ紝璇存垜鐜板湪鍦≒1鐐癸紝瑕佸幓P2鐐廣傛寚浠ゅ彂鍑虹殑鏃墮棿鏄疶0錛屾湇鍔″櫒鏀跺埌鎸囦護鐨勬椂闂存槸T1錛岀劧鍚庡悜鍛ㄥ洿鐨勭帺瀹跺箍鎾繖鏉℃秷鎭紝娑堟伅鐨勫唴瀹規槸“鐜╁A浠嶱1鍒癙2”鏈変竴涓湪A闄勮繎鐨勭帺瀹禕錛屾敹鍒版湇鍔″櫒鐨勮繖鍒欏箍鎾殑娑堟伅鐨勬椂闂存槸T2錛岀劧鍚庡紑濮嬪湪瀹㈡埛绔笂鐢誨浘錛孉浠嶱1鍒癙2鐐廣傝繖涓椂鍊欏氨瀛樺湪涓涓笉鍚屾鐨勯棶棰橈紝鐜╁A鍜岀帺瀹禕鐨勫睆騫曚笂鏄劇ず鐨勭敾闈㈢浉宸簡T2-T1鐨勬椂闂淬傝繖涓椂鍊欐庝箞鍔炲憿錛?/font>
銆銆鏈変釜瑙e喅鏂規錛屾垜緇欏畠鍙栧悕鍙?棰勬祴鎷夋壇錛岃櫧鐒舵湁浜涙紓浜嗙偣錛屼笉榪囧熀鏈笂澶у涔熻兘浠庡瓧闈笂鏉ョ悊瑙e畠鐨勬剰鎬濄傝瑙e喅榪欎釜闂錛岄鍏堣瀹氫箟涓涓煎彨錛氶嫻嬭宸傜劧鍚庨渶瑕佸湪鏈嶅姟鍣ㄧ姣忎釜鐜╁榪炴帴鐨勭被閲岄潰鍔犱竴欏瑰睘鎬э紝鍙玊imeModified錛岀劧鍚庡湪鐜╁鐧婚檰鐨勬椂鍊欙紝瀵瑰鎴風鐨勬椂闂村拰鏈嶅姟鍣ㄧ殑鏃墮棿榪涜姣旇緝錛屽緱鍑烘潵鐨勫樊鍊間繚瀛樺湪TimeModified閲岄潰銆傝繕鏄笂闈㈢殑閭d釜渚嬪瓙錛屾湇鍔″櫒騫挎挱娑堟伅鐨勬椂鍊欙紝灝辨牴鎹騫挎挱瀵硅薄鐨凾imeModified錛岃綆楀嚭涓涓鎴風鐨凜urrentTime錛岀劧鍚庡湪娑堟伅澶撮噷闈㈠寘鍚繖涓狢urrentTime錛岀劧鍚庡啀榪涜騫挎挱銆傚茍涓斿悓鏃跺湪鐜╁A鐨勫鎴風鏈湴寤虹珛涓涓槦鍒楋紝淇濆瓨璇ユ潯娑堟伅錛屽彧鍒拌幏寰楁湇鍔″櫒楠岃瘉灝變粠鏈楠岃瘉鐨勬秷鎭槦鍒楅噷闈㈠皢璇ユ秷鎭垹闄わ紝濡傛灉楠岃瘉澶辮觸錛屽垯浼氳鎷夋壇鍥濸1鐐廣傜劧鍚庡綋鐜╁B鏀跺埌浜嗘湇鍔″櫒鍙戣繃鏉ョ殑娑堟伅“鐜╁A浠嶱1鍒癙2”榪欎釜鏃跺欏氨媯鏌ユ秷鎭噷闈㈡湇鍔″櫒鍙戝嚭鐨勬椂闂村拰鏈湴鏃墮棿鍋氭瘮杈冿紝濡傛灉澶т簬瀹氫箟鐨勯嫻嬭宸紝灝辯畻鍑哄湪T2榪欎釜鏃墮棿錛岀帺瀹禔鐨勫睆騫曚笂璧板埌鐨勫湴鐐筆3錛岀劧鍚庢妸鐜╁B灞忓箷涓婄殑鐜╁A鐩存帴鎷夋壇鍒癙3錛屽啀緇х畫璧頒笅鍘伙紝榪欐牱灝辮兘淇濊瘉鍚屾銆傛洿榪涗竴姝ワ紝涓轟簡淇濊瘉瀹㈡埛绔繍琛岃搗鏉ユ洿鍔爏mooth錛屾垜騫朵笉鎺ㄨ崘鐩存帴鎶婄帺瀹舵媺鎵繃鍘伙紝鑰屾槸綆楀嚭P3鍋忓悗鐨勪竴鐐筆4錛岀劧鍚庣敤(P4-P1)/T(P4-P3)鏉ョ畻鍑轟竴涓緢蹇殑閫熷害S錛岀劧鍚庤鐜╁A鐢ㄩ熷害S蹇熺Щ鍔ㄥ埌P4錛岃繖鏍風殑澶勭悊鏂規硶鏄瘮杈冨悎鐞嗙殑錛岃繖縐嶈В鍐蟲柟妗堢殑鍘熷艦鍦ㄥ浗闄呬笂琚О涓猴紙Full plesiochronous錛夛紝褰撶劧錛岃鍘熷艦琚垜綃℃敼浜嗗緢澶氭潵閫傚簲緗戠粶娓告垙鐨勫悓姝ワ紝鎵浠ヨ屽彉鎴愭墍璋撶殑錛氶嫻嬫媺鎵?/font>
銆銆
鍙﹀涓涓В鍐蟲柟妗堬紝鎴戠粰瀹冨彇鍚嶅彨 楠岃瘉鍚屾錛屽惉鍚嶅瓧涔熺煡閬擄紝澶т綋鐨勬剰鎬濆氨鏄瘡鏉℃寚浠ゅ湪緇忚繃鏈嶅姟鍣ㄩ獙璇侀氳繃浜嗕互鍚庡啀鎵ц鍔ㄤ綔銆傚叿浣撶殑鎬濊礬濡備笅錛氶鍏堜篃闇瑕佸湪姣忎釜鐜╁榪炴帴綾誨瀷閲岄潰瀹氫箟涓涓猅imeModified錛岀劧鍚庡湪瀹㈡埛绔搷搴旂帺瀹墮紶鏍囪璧扮殑鍚屾椂錛屽鎴風騫朵笉浼氬厛琛岃蛋鍔紝鑰屾槸鍙戜竴鏉¤蛋璺殑鎸囦護緇欐湇鍔″櫒錛岀劧鍚庣瓑寰呮湇鍔″櫒鐨勯獙璇併傛湇鍔″櫒鎺ュ彈鍒拌繖鏉℃秷鎭互鍚庯紝榪涜閫昏緫灞傜殑楠岃瘉錛岀劧鍚庤綆楀嚭闇瑕佸箍鎾殑鑼冨洿錛屽寘鎷帺瀹禔鍦ㄥ唴錛屾牴鎹悇涓鎴風涓嶅悓鐨凾imeModified鐢熸垚涓嶅悓鐨勬秷鎭ご錛屽紑濮嬪箍鎾紝榪欎釜鏃跺欒繖涓帺瀹剁殑璧拌礬淇℃伅灝辨槸瀹屽叏鍚屾鐨勪簡銆傝繖涓柟娉曠殑浼樼偣鏄兘淇濊瘉鍚勪釜瀹㈡埛绔箣闂寸粷瀵圭殑鍚屾錛岀己鐐規槸褰撶綉緇滃歡榪熸瘮杈冨ぇ鐨勬椂鍊欙紝鐜╁鐨勫鎴風鐨勮涓轟細鍙樺緱姣旇緝涓嶆祦鐣咃紝緇欑帺瀹跺甫鏉ュ緢涓嶇埥鐨勬劅瑙夈傝縐嶈В鍐蟲柟妗堢殑鍘熷艦鍦ㄥ浗闄呬笂琚О涓猴紙Hierarchical master-slave synchronization錛夛紝80騫翠唬浠ュ悗琚箍娉涘簲鐢ㄤ簬緗戠粶鐨勫悇涓鍩熴?/font>
銆
銆鏈鍚庝竴縐嶈В鍐蟲柟妗堟槸涓縐嶇悊鎯沖寲鐨勮В鍐蟲柟妗堬紝鍦ㄥ浗闄呬笂琚О涓篗utual synchronization錛屾槸涓縐嶅鏈潵緗戠粶鐨勫墠鏅殑鑹ソ棰勬祴鍑烘潵鐨勮В鍐蟲柟妗堛傝繖閲屼箣鎵浠ヨ鎻愯繖涓柟妗堬紝騫朵笉鏄鎴戜滑宸茬粡瀹屽叏鐨勫疄鐜頒簡榪欑鏂規錛岃屽彧鏄湪緗戠粶娓告垙棰嗗煙鐨勬煇浜涙柟闈㈠簲鐢ㄥ埌榪欑鏂規鐨勬煇浜涙濇兂銆傛垜瀵硅縐嶆柟妗堝彇鍚嶄負錛氬崐鏈嶅姟鍣ㄥ悓姝ャ傚ぇ浣撶殑璁捐鎬濊礬濡備笅錛?/font>
銆銆
棣栧厛瀹㈡埛绔渶瑕佸湪鐧婚檰涓栫晫鐨勬椂鍊欏緩绔嬪緢澶氬紶騫挎挱鍒楄〃錛岃繖浜涘垪琛ㄥ湪瀹㈡埛绔悗鍙板拰鏈嶅姟鍣ㄨ榪涜涓嶅強鏃跺悓姝ワ紝涔嬫墍浠ヨ寤虹珛澶氬紶鍒楄〃錛屾槸鍥犱負瑕佸箍鎾殑綾誨瀷鏄笉姝竴縐嶇殑錛屾瘮濡傝鏈塴ocal message,鏈塺emote message,榪樻湁global message 絳夌瓑錛岃繖浜涘垪琛ㄩ兘闇瑕佸湪瀹㈡埛绔櫥闄嗙殑鏃跺欐牴鎹湇鍔″櫒鍙戣繃鏉ョ殑娑堟伅寤虹珛濂姐傚湪寤虹珛鍒楄〃鐨勫悓鏃訛紝榪橀渶瑕佽幏寰楁瘡涓垪琛ㄤ腑騫挎挱瀵硅薄鐨凾imeModified錛屽茍涓旇緇存姢涓寮犲畬鏁寸殑鐢ㄦ埛鐘舵佸垪琛ㄥ湪鍚庡彴錛屼篃鏄笉鍙婃椂鐨勫拰鏈嶅姟鍣ㄨ繘琛屽悓姝ワ紝鏍規嵁鏈湴鐨勭敤鎴風姸鎬佽〃錛屽彲浠ュ仛鍒頒竴閮ㄥ垎鍐崇瓥鐢卞鎴風鑷繁鏉ュ喅瀹氾紝褰撳鎴風鍙戦佽繖閮ㄥ垎鍐崇瓥鐨勬椂鍊欙紝鍒欑洿鎺ュ皢鏈緇堝喅絳栧彂閫佸埌鍚勪釜騫挎挱鍒楄〃閲岄潰鐨勫鎴風錛屽茍瀵瑰叾鏃墮棿榪涜鏍″錛屼繚璇佹瘡涓鎴風鍦ㄦ敹鍒扮殑娑堟伅鐨勬椂闂存槸鍜屾牴鎹湰鍦版椂闂磋繘琛屾牎瀵硅繃鐨勩傞偅涔堝啀閲囩敤棰勬祴鎷夋壇涓彁鍒拌繃鐨勮綆楁彁鍓嶉噺錛屾彁楂橀熷害琛岃蛋榪囧幓鐨勬柟娉曪紝灝嗕細浣垮悓姝ュ彉寰楅潪甯哥殑smooth銆傝鏂規鐨勪紭鐐規槸涓嶉氳繃鏈嶅姟鍣紝瀹㈡埛绔嚜宸變箣闂磋繘琛屽悓姝ワ紝澶уぇ鐨勯檷浣庝簡鐢變簬緗戠粶寤惰繜鑰屽甫鏉ョ殑璇樊錛屽茍涓旂敱浜庡ぇ閮ㄥ垎鍐崇瓥閮藉彲浠ョ敱瀹㈡埛绔潵鍋氾紝涔熷ぇ澶х殑闄嶄綆浜嗘湇鍔″櫒鐨勮祫婧愩傜敱姝ゅ甫鏉ョ殑寮婄灝辨槸鐢變簬娑堟伅鍜屽喅絳栨潈閮芥斁鍦ㄥ鎴風鏈湴錛屾墍浠ョ粰澶栨寕鎻愪緵浜嗗緢澶х殑鍙箻涔嬫満銆?/font>
銆
銆緇煎悎浠ヤ笂涓夌鍏充簬緗戠粶鍚屾媧劇郴鐨勪紭緙虹偣錛岀患鍚堝嚭涓濂楀叧浜庣綉緇滄父鎴忎紶杈撳悓姝ョ殑杈冨畬鏁寸殑瑙e喅鏂規錛屾垜縐板畠涓虹患鍚堝悓姝ユ硶錛坈olligate synchronization錛夈傚ぇ浣撹璁℃濊礬濡備笅錛?/font>
銆銆棣栧厛灝嗘湇鍔″櫒闇瑕佸悓姝ョ殑鎵鏈夋秷鎭粠鍒掑垎涓涓紭鍏堢瓑綰э紝鐒跺悗鎸夌収3/4鐨勬瘮渚嬪垝鍒嗗嚭閲嶈娑堟伅鍜岄潪閲嶈娑堟伅錛屽浜庨潪閲嶈娑堟伅錛屾妸鍐崇瓥鏉冩斁鍦ㄥ鎴風錛屽湪瀹㈡埛绔昏緫涓婂緩绔嬬浉鍏崇殑鍐崇瓥鏈烘瀯鍜屽悇縐嶆秷鎭紦瀛樺尯錛屼互鍙婄浉鍏崇殑娑堟伅緙撳瓨鍖虹鐞嗘満鏋勶紝濡備笅鍥炬墍紺猴細
銆銆涓婂浘綆鍗曡鏄庝簡瀵逛簬闈為噸瑕佹秷鎭紝瀹㈡埛绔殑澶т綋澶勭悊嫻佺▼錛屽叾涓湁涓涓鎴風琚姩琛屼負鍊煎緱澶у娉ㄦ剰錛屽叾涓寘鎷鏈嶅姟鍣ㄥ彂榪囨潵鐨勬煇浜涢獙璇佷唬鐮佸仛榪斿洖錛屾潵紜繚娑堟伅緙撳瓨涓殑娑堟伅鍜屾湇鍔″櫒绔槸涓鑷寸殑錛屼粠鑰屾湁鏁堢殑闃叉澶栨寕鏉ョ鏀規湰鍦版秷鎭紦瀛樸傚叾涓殑娑堟伅鏉ユ簮鏄寘鎷湰鍦扮殑瀹㈡埛绔搷搴旂帺瀹剁殑娑堟伅浠ュ強榪滅▼鏈嶅姟鍣ㄤ紶閫掕繃鏉ョ殑娑堟伅銆?/font>
銆銆瀵逛簬閲嶈娑堟伅錛屾瘮濡傝鎴樻枟鎴栬呮槸鏌愪簺鐗墊壇鍒扮帺瀹朵竴浜涙瘮杈冩晱鎰熸暟鎹殑鎿嶄綔錛屽垯閲囩敤鍙﹀涓濂楁柟妗堬紝璇ユ柟妗堥鍏堥渶瑕佸湪鏈嶅姟鍣ㄥ拰瀹㈡埛绔箣闂村緩绔嬩竴濂桺ing System錛岀劧鍚庢湇鍔″櫒淇濆瓨鍜岀敤鎴風殑鍙婃椂鐨刾ing鍊鹼紝褰損ing姣旇緝灝忕殑鏃跺欙紝鍝嶅簲鐜╁娑堟伅鐨勫悓鏃跺厛涓嶈繘琛屽姩浣滐紝鑰屾槸鍏堟妸璇ユ秷鎭弽棣堢粰鏈嶅姟鍣紝騫朵笖闃誨錛屾湇鍔″櫒鏀跺埌璇ユ秷鎭紝榪涜閫昏緫楠岃瘉涔嬪悗鍚戞墍鏈夎璇︾粏騫挎挱鐨勬湁鏁堝璞¤繘琛屽箍鎾紙鍖呮嫭娑堟伅鍙戣搗鑰咃級錛岀劧鍚庡鎴風鏀跺埌璇ユ秷鎭殑楠岃瘉錛屾墠寮濮嬫墽琛屽姩浣溿傝屽綋ping姣旇緝澶х殑鏃跺欙紝瀹㈡埛绔搷搴旂帺瀹舵秷鎭殑鍚屾椂绔嬪埢榪涜鍔ㄤ綔錛屽茍涓斿悓鏃舵妸璇ユ秷鎭弽棣堢粰鏈嶅姟鍣紝鍊煎緱娉ㄦ剰鐨勬槸榪欎釜鏃跺欒繕闇瑕佸湪鏈湴寤虹珛涓涓棤楠岃瘉娑堟伅鐨勯槦鍒楋紝鎶婅娑堟伅鍏ラ槦錛屾墽琛屽姩浣滅殑鍚屾椂絳夊緟鏈嶅姟鍣ㄧ殑楠岃瘉錛岃繕闇瑕佷繚瀛樺綋鍓嶇姸鎬併傛湇鍔″櫒鏀跺埌瀹㈡埛绔殑璇鋒眰鍚庯紝榪涜閫昏緫楠岃瘉錛屽茍鎶婃秷鎭弽棣堝埌鍚勪釜瀹㈡埛绔紝甯︿笂鍚勪釜瀹㈡埛绔牎瀵硅繃鐨勬湰鍦版椂闂淬傚鏋滈獙璇侀氳繃涓嶈繃錛屽垯閫氱煡娑堟伅鍙戣搗鑰咃紝璇ユ秷鎭獙璇佸け璐ワ紝鐒跺悗瀹㈡埛绔嚜鍔ㄦ妸宸茬粡鍦ㄨ繘琛屼腑鐨勫姩浣滃彇娑堬紝鎭㈠鍘熸潵鐘舵併傚鏋滈獙璇侀氳繃錛屽垯騫挎挱鍒扮殑鍚勪釜瀹㈡埛绔牴鎹粠鏈嶅姟鍣ㄨ幏寰楁牎瀵規椂闂磋繘琛屽鍏惰繘琛屾媺鎵紝淇濊瘉鍦ㄨ琛屼負瀹屾垚涔嬪墠瀹屾垚鍚屾銆?/font>
銆銆鑷蟲錛屼竴涓瘮杈冩垚鐔熺殑緗戠粶娓告垙鐨勫悓姝ユ満鍒跺凡緇忓垵姝ュ緩绔嬭搗鏉ヤ簡錛屾帴涓嬫潵鐨勯昏緫浠g爜灝辨牴鎹悇鑷笉鍚岀殑娓告垙椋庢牸浠ュ強渚ч噸鐐規潵鍐欎簡銆?/font>
銆銆鍚屾鏄綉緇滄父鎴忔渶閲嶈鐨勯棶棰橈紝濡備綍鍚屾涔熺壍鎵埌鍚勪釜鏂歸潰鐨勯棶棰橈紝姣斿璇存父鎴忕殑瑙勬ā錛屾父鎴忕殑綾誨瀷浠ュ強鍚勭鍚勬牱鐨勬柟闈紝瀵逛簬瑙勬ā姣旇緝澶х殑娓告垙錛屽湪鍚屾鏂歸潰鍙互涓嬪緢澶氱殑宸ュか錛屾妸娑堟伅鍒嗗緱鍗佸垎鐨勭粏鑵伙紝瀵逛簬涓嶅悓鐨勬秷鎭噰鐢ㄤ笉鍚岀殑鍚屾鏈哄埗錛岃屽浜庤妯℃瘮杈冨皬鐨勬父鎴忥紝鍒欏彲浠ラ噰鐢ㄥぇ浣撲笂涓鏍風殑鍚屾鏈哄埗錛岀┒绔熸庝箞鏍峰悓姝ワ紝娌℃湁涓畾寮忥紝鏄渶瑕佹牴鎹嚜宸辯殑涓嶅悓鎯呭喌鏉ュ仛鍑轟笉鍚岀殑鍚屾鍐崇瓥鐨?/font>
緗戞父鍚屾綆楁硶涔嬪鑸帹嫻嬶紙Dead Reckoning錛夌畻娉曪細
銆銆鍦ㄤ簡瑙h綆楁硶鍓嶏紝鎴戜滑鍏堟潵璋堣皥璇ョ畻娉曠殑涓浜涜儗鏅祫鏂欍傚ぇ瀹墮兘鐭ラ亾錛屽湪緗戠粶浼犺緭鐨勬椂鍊欙紝寤惰繜鐜拌薄鏄緢鏅亶鐨勶紝鑰屽湪鍩轟簬Server/Client緇撴瀯涓嬬殑緗戠粶娓告垙鐨勫悓姝ヤ篃灝辨垚浜嗗緢澶寸柤鐨勯棶棰橈紝鍦ㄤ繚璇佸鎴風鍝嶅簲鐢ㄦ埛鏈湴鎸囦護嫻佺晠鐨勬儏鍐典笅錛屾病娉曟湁鏁堢殑淇濊瘉鐨勫悓姝ョ殑鍙婃椂鎬с傚悓鏍鳳紝鍦ㄥ啗鏂逛篃鏈夌被浼肩殑浜嬫儏鍙戠敓錛屽嵆浣挎槸鍚屼竴LAN閲岄潰鐨勬満鍣紝涔熶細鍥犱負浼犺緭鐨勫歡榪燂紝瀵艱嚧涓浜涜繍綆楃殑澶辮錛屼粙浜庢錛岀編鍥藉浗闃查儴鎶曞叆浜嗗ぇ閲忕殑璧勯噾鐢ㄤ簬鐮旂┒涓縐嶆瘮杈冪殑濂界殑鏂規鏉ヨВ鍐沖垎甯冨紡緋葷粺涓殑寤惰繜闂錛岀壒鍒槸涓涓彨鍒嗗竷寮忔ā鎷熻繍鍔紙Distributed Interactive Simulation錛夌殑緋葷粺錛岃繖濂楃郴緇熷憿錛屽叾涓氨鎻愬嚭浜嗕竴濂楀彿縐版槸Latency Hiding & Bandwidth Reduction鐨勬柟妗堬紝鍛藉悕涓篋ead Reckoning銆傚懙鍛碉紝鏉ュご寰堝ぇ鍚э紝鎭╋紝閭d箞鎴戜滑涓嬮潰灝辨潵鐪嬬湅榪欏緋葷粺鐨勪竴浜涜鐐癸紝浠ュ強鎴戜滑濡備綍鎶婂畠榪愮敤鍒版垜浠殑緗戠粶娓告垙鐨勫悓姝ヤ腑銆?/p>
銆銆棣栧厛錛岃繖濂楀悓姝ユ柟妗堟槸鍩轟簬鎴戦偅綃囥婄綉緇滄父鎴忕殑鍚屾銆嬩竴鏂囦腑鐨凪utual Synchronization鍚屾鏂規鐨勶紝涔熷氨鏄錛屽畠騫朵笉鏄疭erver/Client緇撴瀯鐨勶紝鑰屾槸鍩轟簬瀹㈡埛绔箣闂寸殑鍚屾鐨勩備笅闈㈡垜浠厛鏉ヨ涓浜涙湰鏂囦腑灝嗙敤鍒扮殑鍚嶈瘝姒傚康錛?br>銆銆緗戠姸緗戠粶錛氬鎴風涔嬮棿鏋勬垚鐨勭綉緇?br>銆銆鑺傜偣錛氱綉鐘剁綉緇滀腑鐨勬瘡涓鎴風
銆銆鏋侀檺璇樊錛氳繘琛屽悓姝ョ殑鏃跺欏彲鑳戒駭鐢熺殑璇樊鐨勬瀬鍊?/p>
銆銆鎭╋紝鍦ㄦ帰璁ㄥ叾鍘熺悊鐨勪箣鍓嶏紝鎴戜滑鍏堟潵鐪嬬湅鎴戜滑闇瑕佷竴涓粈涔堟牱鐨勭幆澧冦傞鍏堬紝闇瑕佷竴涓綉鐘剁綉緇滐紝緗戠姸緗戠粶濡備綍鏋勬垚鍛紵褰撴湁鏂拌妭鐐硅繘鍏ョ殑鏃跺欙紝閫氱煡璇ョ綉緇滈噷闈㈢殑鎵鏈夎妭鐐癸紝鍚勮妭鐐逛負璇ュ鎴風鍦ㄦ湰鍦板垱寤轟竴涓壇鏈紝鐧誨嚭鐨勬椂鍊欙紝鍒欓氱煡鎵鏈夎妭鐐歸攢姣佹湰鍦板叧浜庤鑺傜偣鐨勫壇鏈傜劧鍚庢瘡涓妭鐐硅淇濆瓨涓浜涗粈涔堟暟鎹憿錛熼鍏堟湁涓涓緢閲嶈鐨勫寘闇瑕佷繚瀛橈紝鍙仛鍗忚鏁版嵁鍖咃紙PDU Protocol Data Unit錛夛紝PDU鍖呭惈鑺傜偣鐨勪竴浜涚浉鍏崇殑榪愬姩淇℃伅錛屾瘮濡傚綋鍓嶄綅緗紝閫熷害錛岃繍鍔ㄦ柟鍚戯紝鎴栬呰繕鏈夊姞閫熷害絳変竴浜涗俊鎭傞櫎PDU涔嬪錛岃繕鏈夊叾浠栦俊鎭渶瑕佷繚瀛橈紝姣斿璇磋妭鐐瑰鎴風浜虹墿鐨凥P錛孧P涔嬬被鐨勩傜劧鍚庯紝淇濊瘉姣忎釜鑺傜偣鍦ㄦ渶灝?縐掍箣鍐呰鍚戝叾瀹冭妭鐐瑰箍鎾竴嬈DU淇℃伅銆傛渶鍚庯紝璁劇疆涓涓瀬闄愯宸箋傚埌姝わ紝鍏剁幆澧冨氨綆楁惌寤哄畬鎴愪簡銆備笅闈紝鎴戜滑灝辨潵鐪嬬湅鐩稿叧鐨勫叿浣撶畻娉曪細
銆銆鍋囪鍦ㄨ妭鐐笰鏈変竴涓皬浜猴紙璺漢鐢詫級錛屽紑濮嬭窇璺簡錛岃繖涓椂鍊欙紝灝卞儚鎵鏈夌殑鑺傜偣騫挎挱涓嬈′粬鐨凱DU淇℃伅錛屽寘鎷細閫熷害錛圫錛夛紝鏂瑰悜錛圤錛夛紝鍔犻熷害錛圓錛夈傞偅涔堟墍鏈夌殑鑺傜偣灝卞紑濮嬫ā鎷熻礬浜虹敳鐨勮繍鍔ㄨ建榪瑰拰璺嚎錛屽寘鎷妭鐐笰鏈韓錛堣繖鐐瑰緢閲嶈錛夛紝鍚屾椂錛岃礬浜虹敳鍦ㄦ煇鏌愮帺瀹剁殑鎺у埗涓嬶紝浼氫笉鏃剁殑鏀瑰彉涓涓嬫柟鍚戯紝璁╁叾璺戣礬鐨勮礬綰垮彉寰椾笉鏄偅涔堟瑙勩傚湪璺戣礬鐨勮繃紼嬩腑錛岃妭鐐笰鏈変竴涓煎湪涓嶅仠鐨勮褰曠潃鍏剁湡瀹炲潗鏍囧拰鍦ㄥ悗鍙版ā鎷熻繍鍔ㄧ殑鍧愭爣鐨勫樊鍊鹼紝褰撳樊鍊煎ぇ浜庢瀬闄愯宸殑鏃跺欙紝鍒欒綆楀嚭褰撳墠鐨勯熷害S錛屾柟鍚慜鍜岄熷害A錛堢畻娉曞皢鍦ㄥ悗闈粙緇嶏級錛屽茍騫挎挱緇欑綉緇滀腑鍏朵粬鎵鏈夎妭鐐廣傚叾浠栬妭鐐瑰湪鏀跺埌榪欐潯娑堟伅涔嬪悗鍛紝灝卞彲浠ョ敤涓浜涘緢騫蟲粦鐨勭Щ鍔ㄦ妸璺漢鐢叉媺鎵繃鍘伙紝鐒跺悗閲嶆柊璋冩暣妯℃嫙璺戣礬鐨勬暟鎹紝璁╁叾緇х畫鍦ㄥ悗鍙版ā鎷熻窇璺?/p>
銆銆寰堟樉鐒訛紝濡傛灉鏋侀檺璇樊瀹氫箟寰楀ぇ浜嗭紝鍏朵粬鑺傜偣鐪嬪埌鐨勫亸宸氨浼氳繃澶э紝濡傛灉鏋侀檺鍋忓樊瀹氫箟寰楀皬浜嗭紝緗戠粶甯﹀灝變細澧炲ぇ銆傚鏋滃畾涔夎繖涓瀬闄愯宸紝灝辮鏍規嵁鍚勭鏁版嵁鐨勯噸瑕佹ф潵璁捐浜嗐傚鏋滄槸鍥炲悎鍒剁殑緗戠粶娓告垙錛岄偅涔堝湪璧拌礬涓婃妸鏋侀檺璇樊瀹氫箟寰楀ぇ浜涙棤鎵璋擄紝鍙互鍑忓皯甯﹀銆備絾鏄鏋滄槸鍙婃椂鎵撴枟鐨勭綉緇滄父鎴忥紝閭d箞灝卞緱鎶婃瀬闄愯宸畾涔夊緱灝忎竴浜涳紝鍚﹀垯浼氬嚭鐜版煇浜虹湅鍒版煇浜鴻佽繙鎶婅嚜宸辯粰鐮嶆鐨勬儏鍐點?/p>
銆銆Dead Reckoning鐨勪富瑕佺畻娉曟湁9縐嶏紝浣嗘槸鍙湁涓ょ鏄В鍐充富瑕侀棶棰樼殑錛屽叾浠栫殑鍩烘湰涓婂彧鏄拡瀵逛笉鍚岀殑鍧愭爣緋葷殑涓浜涗笉鍚岀殑綆楁硶錛岃繖閲屽氨涓嶄竴涓浠嬬粛浜嗐傚ソ錛岄偅涔堟垜浠笅闈㈡潵鐪嬩紶璇翠腑鐨勬渶涓昏鐨勪袱縐嶇畻娉曪細
銆銆銆銆絎竴錛氱洰鏍囩偣 = 鍘熺偣 + 閫熷害 * 鏃墮棿宸?br>銆銆銆銆絎簩錛氱洰鏍囩偣 = 鍘熺偣 + 閫熷害 * 鏃墮棿宸?+ 1/2 * 鍔犻熷害 * 鏃墮棿宸?br>鍛靛懙錛屼紶璇翠腑鐨勭畻娉曢兘鏄緢緇忓吀鐨勶紝铏界劧鎴戜滑鏃╁湪鍒濅腑鐗╃悊鐨勬椂鍊欏氨瀛﹁繃銆?/p>
銆銆璇ョ畻娉曠殑濂藉鍛紝姝e瀹冨紑濮嬫墍璇寸殑錛孡atency Hiding & Bandwidth Reduction錛屼粠鍘熷垯涓婅В鍐充簡緗戠粶寤惰繜瀵艱嚧鐨勪笉鍚屾鐨勯棶棰橈紝騫朵笖鏈夋晥鐨勫噺灝戜簡甯﹀錛屼笉濂界殑鍦版柟灝辨槸璇ョ畻娉曞熀鏈笂鍙兘浣跨敤浜庣Щ鍔ㄤ腑鐨勫悓姝ワ紝褰撶劧錛岀Щ鍔ㄧ殑鍚屾鏄綉緇滄父鎴忎腑鍚屾鐨勬渶澶х殑闂銆?/p>
銆銆璇ユ柟娉曠粨鍚堟垜鍦ㄣ婄綉緇滄父鎴忕殑鍚屾銆嬩竴鏂囦腑鎻愬嚭鐨勭患鍚堝悓姝ユ硶鐨勬瀯鏋跺彲浠ュ熀鏈笂瑙e喅鎺夌綉緇滄父鎴忎腑璧拌礬鍚屾鐨勯棶棰樸傜浉鍏抽棶棰樻榪庡ぇ瀹朵竴璧瘋璁恒?/p>
鏈夊叧瀵艱埅鎺ㄦ祴綆楁硶錛圖ead Reckoning錛変腑鐨勫鉤婊戝鐞嗭細
銆銆鏍規嵁鎴戜笂綃囨枃绔犳墍浠嬬粛鐨勶紝鍦ㄨ妭鐐笰鏀跺埌鑺傜偣B鏂扮殑PDU鍖呮椂錛屽鏋滃拰A鏈湴鐨勫叧浜嶣鐨勬ā鎷熻繍鍔ㄧ殑鍧愭爣涓嶄竴鑷存椂錛屾庝箞鏍峰湪A鐨勫睆騫曚笂鎶夿鎷藉埌鏂扮殑PDU鍖呮墍鎻忓彊鐨勭偣涓婇潰鍘誨憿錛屼笂鏂囦腑鍙彁浜嗙敤“寰堝鉤婊戠殑縐誨姩”鎶夿“鎷夋壇”榪囧幓錛岄偅涔堝疄闄呬腑搴旇鎬庝箞鎿嶄綔鍛紵榪欓噷浠嬬粛鍥涚鏂規硶銆?
銆銆絎竴縐嶆柟娉曪紝鎴戝彇鍚嶅彨鐩存帴鎷夋壇娉曪紝澶у鍚悕瀛椾篃鐭ラ亾錛屽氨鏄洿鎺ユ妸B紜敓鐢熺殑鎷藉埌鏂扮殑PDU鍖呮墍鎻忓彊鐨勫潗鏍囦笂鍘伙紝璇ユ柟娉曠殑濂藉鏄細綆鍗曘傚潖澶勬槸錛氱湅浜嗕互涓嬩笁縐嶆柟娉曚箣鍚庝綘灝變笉浼氱敤榪欑鏂規硶浜嗐?/p>
銆銆絎簩縐嶆柟娉曪紝鍙洿綰胯璧幫紙Linear錛夛紝鍗寵B浠庡畠鐨勫綋鍓嶅潗鏍囪蛋鐩寸嚎鍒版柊鐨凱DU鍖呮墍鎻忓彊鐨勫潗鏍囷紝琛岃蛋閫熷害鐢ㄤ笂鏂囦腑鎵浠嬬粛鐨勭粡鍏哥畻娉曪細
銆銆銆銆鐩爣鐐?= 鍘熺偣 + 閫熷害 * 鏃墮棿宸?+ 1/2 * 鍔犻熷害 * 鏃墮棿宸畻鍑猴細
銆銆棣栧厛綆楀嚭浠庡綋鍓嶅潗鏍囧埌PDU鍖呬腑鎻忓彊鐨勫潗鏍囨墍闇瑕佺殑鏃墮棿錛?br>銆銆銆銆T = Dest( TargetB – OriginB ) / Speed
銆銆鐒跺悗鏍規嵁鏂癙DU鍖呬腑鎵鎻忓彊鐨勫潗鏍囦俊鎭ā鎷熻綆楀嚭鍦ㄦ椂闂碩涔嬪悗錛屾寜鐓ф柊鐨凱DU鍖呬腑鐨勮繍鍔ㄤ俊鎭墍搴旇杈懼埌鐨勪綅緗細
銆銆銆銆_TargetB = NewPDU.Speed * T
銆銆鐒跺悗鏍規嵁褰撳墠妯℃嫙琛屽姩涓殑B鍜宊TargetB鐨勮窛紱婚厤鍚堟椂闂碩綆楀嚭涓涓慨姝h繃鐨勯熷害_S錛?br>銆銆銆銆_S = Dest( _TargetB – OriginB ) / T
銆銆鐒跺悗鍦ㄧ敾闈笂璁〣浠ラ熷害_S璧扮洿綰垮埌Target_B錛屽茍涓斿湪璧板埌涔嬪悗璋冩暣鍏墮熷害錛屾柟鍚戯紝鍔犻熷害絳変俊鎭負鏂扮殑PDU鍖呬腑鎵鎻忓彊鐨勩?/p>
銆銆榪欑鏂規硶鍛紝闈炲父鐨勫湡錛屼細璁╃墿浣撳湪鐢婚潰涓婄Щ鍔ㄨ搗鏉ュ彉寰楅潪甯哥殑涓嶇幇瀹烇紝緇忓父浼氬嚭鐜板緢鐢熺‖鐨勬嫄瑙掞紝鑰屼笖瀵逛簬緇忓父瑕佷慨鏀圭殑閫熷害_S錛屽湪鐜╁A鐨勭敾闈笂錛岀帺瀹禕鐨勮鍔ㄤ細鍙樺緱闈炲父鐨勮寮傘傚叾濂藉鏄細姣旂涓縐嶆柟娉曡濂姐?/p>
銆銆絎笁縐嶆柟娉曪紝鍙簩嬈℃柟紼嬭璧幫紙Quadratic錛夛紝璇ユ柟娉曠殑鍘熺悊鍛紝灝辨槸鍦ㄧ洿綰胯璧扮殑榪囩▼涓紝鍔犲叆浜屾鏂圭▼鏉ヨ綆椾竴鏉℃洸綰胯礬寰勶紝璁〥est( _TargetB – OriginB )鐨勮繃紼嬫槸涓鏉℃洸綰匡紝鑰屼笉鏄竴鏉$洿綰匡紝鎭╋紝鍏蜂綋鐨勫疄鐜版柟娉曪紝灝辨槸鍦↙inear鏂規硶鐨勮綆椾腑錛岃瀹氫竴涓簩嬈℃柟紼嬶紝鍦―est鍑芥暟璁$畻璺濈鐨勬椂鍊欐牴鎹瀹氱殑浜屾鏂圭▼鏉ヨ綆楋紝榪欐牱涓鏉ワ紝鍙互浣緽鍦ㄧ帺瀹禔灞忓箷涓婄殑縐誨姩鍙樺緱姣旇緝鐨勬湁浜烘у寲涓浜涖備絾鏄鏂規硶鐨勮冭檻涔熸槸涓嶅懆鍏ㄧ殑錛屼粎浠呭彧鑰冭檻浜員argetB鍒癬TargetB鐨勬柟鍚戯紝鑰屾病鏈夎冭檻鏂扮殑PDU鍖呬腑鐨勬柟鍚戞弿鍙欙紝閭d箞浠巁TargetB寮濮嬫ā鎷熻璧扮殑鏃跺欙紝浠嶇劧鏄細鍑虹幇姣旇緝鐢熺‖鐨勬嫄瑙掞紝閭d箞涓嬮潰鎻愬嚭鐨勬渶緇堣В鍐蟲柟妗堬紝灝嗗交搴曡В鍐寵繖涓棶棰樸?/p>
銆銆鏈鍚庝竴縐嶆柟娉曞彨錛氱珛鏂逛綋鎶栧姩錛圕ubic Splines錛夛紝榪欎釜涓滀笢姣旇緝澶嶆潅錛屽畠闇瑕佸洓涓潗鏍囦俊鎭綔涓哄畠鐨勫弬鏁版潵榪涜榪愮畻錛岀涓涓弬鏁癙os1鏄疧riginB錛岀浜屼釜鍙傛暟Pos2鏄疧riginB鍦ㄦā鎷熻繍琛屼竴縐掍互鍚庣殑浣嶇疆錛岀涓変釜鍙傛暟Pos3鏄埌杈綺TargetB鍓嶄竴縐掔殑浣嶇疆錛岀鍥涗釜鍙傛暟pos4鏄痏TargetB鐨勪綅緗?/p>
Struct pos {
Coordinate X;
Coordinate Y;
}
銆銆銆Pos1 = OriginB
銆銆銆Pos2 = OriginB + V
銆銆銆Pos3 = _TargetB – V
銆銆銆Pos4 = _TargetB
榪愬姩杞ㄨ抗涓?x, y)鐨勫潗鏍囥?br>銆銆銆x = At^3 + Bt^2 + Ct + D
銆銆銆y = Et^3 + Ft^2 + Gt + H
錛堝叾涓椂闂磘鐨勫彇鍊艱寖鍥翠負0-1錛屽湪Pos1鐨勬椂鍊欎負0錛屽湪Pos4鐨勬椂鍊欎負1錛?/p>
x(0-3)浠h〃Pos1-Pos4涓瓁鐨勫鹼紝y(0-3)浠h〃Pos1-Pos4涓瓂鐨勫?br>銆銆銆A = x3 – 3 * x2 +3 * x1 – x0
銆銆銆B = 3 * x2 – 6 * x1 + 3 * x0
銆銆銆C = 3 * x1 – 3 * x0
銆銆銆D = x0
銆銆銆E = y3 – 3 * y2 +3 * y1 – y0
銆銆銆F = 3 * y2 – 6 * y1 + 3 * y0
銆銆銆G = 3 * y1 – 3 * y0
銆銆銆H = y0
銆銆涓婇潰鏄叕寮忥紝閭d箞涓嬮潰鎴戜滑鏉ョ湅鐪嬪浣曡幏寰桺os1-Pos4錛氶鍏堬紝Pos1鍜?Pos2鐨勫彇鍊間細姣旇緝瀹規槗鑾峰緱錛屾牴鎹甇riginB閰嶅悎褰撳墠鐨勯熷害鍜屾柟鍚戝彲浠ヨ幏寰楋紝鐒惰孭os3鍜孭os4鍛紝鎬庝箞鑾峰緱鍛紵濡傛灉鍦ㄤ粠Pos1鍒癙os4鐨勮繃紼嬩腑鏈夋柊鐨凱DU鍒拌揪錛岄偅涔堟垜浠畾涔夊畠涓篘ewPackage銆?/p>
銆銆銆Pos3 = NewPackage.X + NewPackage.Y * t + 1/2 * NewPackage.a * t^2
銆銆銆Pos4 = Pos3 – (NewPackage.V + NewPackage.a * t)
濡傛灉娌℃湁NewPackage鐨勬儏鍐典笅,鍒橮os3鍜孭os4鎸夌収寮濮嬫墍瑙勫畾鐨勬柟娉曡幏寰椼?/p>
鑷蟲錛屽叧浜庡鑸帹嫻嬬殑綆楁硶澶ц嚧浠嬬粛瀹屾瘯銆?/p>
嬈㈣繋璁ㄨ錛岃仈緋諱綔鑰咃細QQ 181194 MSN: xiataiyi@hotmail.com
鍙傝冩枃鐚奃efeating Lag with Cubic Splines銆?/p>
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/wind520/archive/2009/02/17/3898948.aspx