本篇就做遙控(Remote)部分討論

設計概念如下:

1.png 

 

問題:若未經過特殊設計,該遙控效能並不佳,敏感度嚴重不足

原因:手機效能有限 & 本遊戲引擎使用之平台效能不佳

 

解決方案:

手機端 -> 將訊息隊列送出,避免手機遺漏部分送出指令

architect.GIF

由於在手機的「處理觸發訊息」和「網路傳送」分屬兩個Thread

若是觸發訊息太快,例如兩個觸發事件發生在0.001秒之間

則在第一個觸發事件時,處理觸發訊息的thread會忙著handle,而來不及反應第二個觸發事件...

從而第二個觸發事件根本沒被handle

因此我們要減少其handle所需要的時間

即是將其變成只傳送一個「待傳項目」進入一個queue

而讓「網路傳送」的thread於行有餘力之時,

「依序」抓取queue中的事件,依序傳出去

 

 

接收端 -> 讓Message由程式內部產生,而非由外部控制

call.JPG 

由於每個系統平台接收Windows Message的方式不同

有的程式容易忽略來自於Windows的訊息

最佳的解決方法就是讓程式以自身呼叫DLL的方式

自己產生Message,從而自身比較容易收到


arrow
arrow
    全站熱搜

    finalfrank 發表在 痞客邦 留言(0) 人氣()