Я просто посмотрел на реализацию сетки Firemonkey, и выяснилось, что это очень простая реализация (только 1800 строк, которые, похоже, не так много для реализации сетки). Это почти не обычная картина, но вместо этого объединяет множество других элементов управления, которые, кажется, являются стилем Firemonkey.
Например, каждый столбец содержит массив элементов управления - по одному для каждой ячейки. Для обычного текстового столбца с 1 000 000 строк сетка будет хранить в памяти 1 000 000 элементов управления редактированием - что кажется мне немного сумасшедшим. (EDIT: теперь не так уверен, если это предположение верно. Кажется, что учитывает видимость ячеек, что может означать, что он предоставляет что-то вроде виртуального режима, но я не совсем уверен...)
Мой вопрос: без всякого сомнения, этот компонент-агрегатный дизайн Firemonkey кажется простым и элегантным, но действительно ли он хорошо масштабируется с объемом данных, который должен отображаться в сетке? Я не могу представить, что он хорошо работает с большим количеством строк. Что такое способ Firemonkey для обработки больших объемов данных?
Спасибо за любой ввод.