非同步設計
出自OpenISEE
使用網頁技術發展的服務,反應速度常常會比桌面應用程式(desktop application)慢很多,造成使用上不愉快的經驗。引起這種情況的主要原因包括
- 網路頻寬不足
- 伺服器忙碌及等。
在IPTV裡,因STB瀏覽器的網頁資料處理能力比一般PC低,可能會加重反應遲滯現象。
傳統上,網頁服務由一組HTML網頁組成,當要變更畫面的某個部分,必須整個畫面重新載入。一般網頁裡會包含內容、外觀、行為等部分,而許多由伺服器送來的的網頁與下一網頁間僅有內容部分有差異,其餘完全相同。因此若相鄰兩畫面間,使用相同的佈局,顯示下一畫面時,僅從伺服器取得新的內容(Content),並動態調整畫面內容,會讓服務畫面顯示變得非常流暢,同時節省大量網路頻寬,及伺服器資源。由用戶端,非同步的向伺服器取的新的內容,並填入既有的網頁佈局的作法,在ISEE SDK稱為非同步設計(asynchronous design)。而傳統的方式,則稱為同步設計(synchronous design)。
- 在同步模式裡,當STB發出服務請求後,會進入等待狀態,亦即不再接受與處理用戶按鍵事件。當伺服器回應服務請求後,STB Browser 需先卸載(unload)上一個View Page,清除畫面及釋放資源,解析新的伺服器的回應,然後依照回應內容開始描繪(Render)畫面內容及執行Javascript 控制程式。
- 在非同步模式裡,當STB發出服務請求後,服務畫面仍可繼續操作,當伺服器回應服務請求後,先決定由那個VBox Frame負責處理接收到的資料,待該VBox Frame的處理函式完成資料處理及動態更新畫面內容後,將View Port 切換至該VBox Frame,整個畫面更換過程,幾乎無間隙地進行。

