2011-05-24 52 views
0

即時通訊使用rpc使用事件源,我需要將大量數據推送到客戶端,測量性能並將信息發送回服務器端以根據所測量的信息來調整(事件源rpc的)延遲時間。 如何衡量客戶端的性能。 如何在客戶端創建緩衝區,以便在客戶端可以平滑地顯示數據(例如圖(x,y)(x1,y1)中的數組值),並將一些數據保存在其緩衝區中。GWT:如何測量客戶端性能和發送到服務器的信息,以便在客戶端正確顯示hudge數據時動態地顯示

回答

0

你基本上做的是測量渲染接收到的數據顯示的網絡延遲和延遲。所以基本上你在這裏有兩個變量,你必須測量它們中的每一個。這是我會做的:

  1. 客戶端請求數據。
  2. 服務器回覆數據並向其添加服務器時間戳。
  3. 當客戶端完成接收數據時,它會創建它自己的客戶端時間戳new Date().getTime()
  4. 比客戶端開始渲染接收到的數據到屏幕上。
  5. 完成後,它會創建一個新的時間戳並減去以前的客戶端時間戳:它將獲取呈現時間。
  6. 立即向服務器發送另一個請求(不是正常的數據請求,而是特殊的只測量請求),並向其添加呈現時間和服務器時間戳。服務器獲取數據:以前的服務器時間戳和客戶端呈現延遲。

現在它可以計算網絡延遲(當前服務器時間戳 - 啓動服務器時間戳 - 渲染延遲)/ 2。

您正在尋找的調整延遲是網絡延遲+渲染延遲。

+0

感謝您的回覆,我不確定你在說什麼,因爲我使用事件源rpc插件從服務器端推送數據,例如一段時間後。 200毫秒,所以客戶端請求不存在,我也需要在客戶端的緩衝區,因爲服務器發送大量數據(200毫秒是非常快),並顯示客戶端圖中的數據,我需要在客戶端順利顯示這就是爲什麼我需要在cleint端的緩衝區來保存數據並以FIFO的方式顯示在圖中並順利執行... – 2011-05-30 13:25:14

0

我想你正在開發階段優化你的代碼。在這種情況下,您應該使用瀏覽器工具來測量RPC調用,HTML解析和CSS渲染,如Speed Tracer

如果您的問題根據生產系統中加載的數據而隨機出現,那麼您必須手動測試JavaScript代碼,或者感謝gwt-measure工具包或dynatrace AJAX

相關問題