Я только что посмотрел на реализацию сетки Firemonkey, и оказалось, что это очень простая реализация (всего 1800 строк, что, кажется, немного для реализации сетки). Он практически не выполняет пользовательскую отрисовку, но объединяет множество других элементов управления - что похоже на стиль работы Firemonkey.
Например, каждый столбец содержит массив элементов управления - по одному для каждой ячейки. Для обычного текстового столбца с 1 000 000 строк, сетка будет хранить 1 000 000 элементов управления редактированием в памяти - что кажется мне немного сумасшедшим. ( РЕДАКТИРОВАТЬ: сейчас не совсем уверен, правильно ли это предположение. Кажется, он принимает во внимание видимость ячеек, что может означать, что он обеспечивает что-то вроде виртуального режима, но я не совсем уверен ... )
Мой вопрос: Без сомнения, этот проект Firemonkey, объединяющий компоненты, кажется простым и элегантным, но действительно ли он хорошо масштабируется с объемом данных, которые должны отображаться в сетке? Я не могу себе представить, что он хорошо работает с большим количеством строк. Как Firemonkey обрабатывает большие объемы данных?
Спасибо за любой вклад.