2014-02-14 65 views
1

我正在開發一款移動應用程序,並且非常喜歡使用Polymer來導入自定義元素。該應用程序依賴於在requestAnimationFrame上執行畫布繪製的自定義元素。因此,我一直在研究Chrome的時間線控制檯,看看我是否可以儘可能多地削減操作以保持應用程序的順暢。在我的分析過程中,我可以優化許多事項。但是,我也注意到一個基於聚合物的定時功能:是否有可能控制聚合物表達式燃燒?

enter image description here

由於缺乏一個更好的詞我要調用這個投票的(我喜歡在高水平知道聚合物是在這裏做)。是否有可能停止此輪詢並自己觸發此更新?由於我只使用導入和自定義元素,因此我想測試一下,看看是否可以在頁面初始化期間更新聚合物,並在繪圖/請求動畫框架視圖期間節省時間。

回答

2

這是platform.js代碼檢測Object.observe填充和輪詢髒檢查機制。

在本機Object.observe的平臺上沒有投票。

如果你想使用標準platform.js,那麼你就可以正是如此關閉投票:

clearInterval(Platform.flushPoll); 

,並定期調用這樣說:

Platform.flush(); 

 

如果你是硬核約

我只使用了進口和自定義元素

那麼你也可以通過使用這些polyfills,而不是直接platform.js(放棄數據綁定和polymer.html支持)避免輪詢。

+0

非常感謝@ scott-miles,這正是我期待的! – jonobr1

1

聚合物使用輪詢刷新數據更改。有關數據更改如何傳播的更多信息:http://www.polymer-project.org/polymer.html#flush。當默認打開Object.observe時,輪詢消失!對於沒有它的瀏覽器,Polymer將繼續進行輪詢。

+0

感謝您的信息!它看起來像'polymer.flush()'將會非常有用。在移動應用程序的過渡期中,是否有辦法完全關閉投票?這樣我可以控制'polymer.flush()'的執行嗎? – jonobr1

相關問題