NetDynamics 是一個以資料為導向的網路遊樂場,用於可靠的 UDP 傳輸。該應用程式是為壓力測試和調試專有網路庫而創建的,但它也支援 ENet 作為開源替代方案。
NetDynamics 允許產生多達 100,000 個動態實體、高效處理資料並使用繪圖呼叫批次渲染圖形。該應用程式產生大量數據,以便使用支援順序可靠/不可靠訊息傳遞的 UDP 傳輸透過網路或環回傳輸。主要目標是確定網路傳輸中的問題點、瓶頸或錯誤並即時視覺化。
整體方法是基於實體元件系統,其中實體只是與資料和邏輯解耦的識別碼。 NetDynamics 是一個客戶端-伺服器應用程序,可跨連接同步實體的視覺表示。伺服器正在序列化並向客戶端傳輸大批量的元件,這些元件本質上是實體的資料。此系統用於指定實體的邏輯和處理組件。
伺服器對所有實體擁有完全的權限,客戶端只能透過發送適當的訊息來參與世界的人口活動。伺服器也可以產生實體,也可以在本地銷毀它們,並在客戶端之間進一步同步。伺服器以固定間隔(預設每秒 20 次更新)發送實體的狀態更新。客戶端使用內插法來根據位置和速度分量複製狀態更新之間實體的流暢移動。未實施外推,因此資料包遺失將會很明顯。
該應用程式旨在透過數十萬條網路訊息以指數方式產生流量。當網路傳輸處於高負載時,多執行緒並不是故意注意到主執行緒的效能下降,因此單執行緒傳輸將始終以更高的延遲執行,具體取決於應用程式的幀速率。將傳輸邏輯移至單獨的專用執行緒或以任何其他方式使其與幀速率無關將解決此問題,但這超出了 NetDynamics 的目的。
下載應用程式並在settings.ini
檔案中設定所需的參數。運行應用程序,在伺服器或客戶端上使用滑鼠左鍵產生實體,在伺服器上使用滑鼠右鍵銷毀實體。
為了測試初始應用程式的渲染和處理效能,以透過網路邏輯獲得幀時間消耗的視覺差異,您可以簡單地在伺服器上產生實體,而無需任何連接。