1

前言:

我必须在每个单元格中使用 HTML5 画布填充一个非常大的网格。我使用Ext JS框架,网格单元很复杂:带有文本的可变数量div元素、一两个简单svg元素和一个程序生成的canvas. 对于表格行的渲染Ext JS使用bufferedRenderer:在每一刻,在 dom 树上只有一小部分可见的表格存在,在滚动期间,缺失的行会按需渲染,而远处的行会被丢弃。

每次需要渲染时都创建一个新的画布会影响性能,保存每个canvas元素以将它们重新附加到 dom 可能会导致内存膨胀。(对于Ext JS用户:我不能Ext.grid.column.Widget在这种特殊情况下使用)。

问题:

所以我决定实现我的画布缓存,但我不知道哪种缓存替换策略与我的情况相关:我无法预测用户滚动我的表格的方式。多种排序和过滤选项使事情变得更加模糊。对于无法估计消费者行为的缓存,是否有任何一般注意事项?也许我应该简单地存储每个第 n 个画布?

4

0 回答 0