Политика замены кэша, когда поведение потребителя неизвестно

Преамбула:

Мне нужно заполнить очень большую сетку HTML5-холстами в каждой ячейке. я использую Ext JS рамки, ячейки сетки являются сложными: переменное число div элементы с текстом, один или два простых svg элементы и процедурно генерируется canvas, Для рендеринга строк таблицы Ext JS использования bufferedRenderer: в каждый момент времени в дереве dom присутствует только небольшая видимая часть таблицы, при прокрутке недостающие строки отображаются по требованию, а удаленные строки выбрасываются.

Создание нового холста каждый раз, когда он должен быть представлен, является хитом производительности, сохраняя каждый canvas элемент для присоединения их к dom может потенциально вызвать раздувание памяти. (За Ext JS пользователи: я не могу использовать Ext.grid.column.Widget в данном конкретном случае).

Проблема:

Поэтому я решил реализовать кеш моих полотен, но я не знаю, какая политика замены кеша актуальна в моем случае: я не могу предсказать, как пользователь будет прокручивать мою таблицу. Несколько вариантов сортировки и фильтрации делают вещи еще более туманными. Существуют ли общие соображения относительно кэшей, когда вы не можете оценить поведение потребителей? Может быть, я должен просто хранить каждый n-й холст?

0 ответов

Другие вопросы по тегам