Как вы, вероятно, знаете, двойной буфер обычно включает создание буфера внеэкранной памяти того же размера, что и визуальный компонент. Запись / рисование выполняется в этом буфере, и когда он завершен, весь буфер «заменяется», так что теперь он рисуется на визуальном компоненте.
(Примечание: «замена» может состоять из простого изменения адреса, на который указывает указатель, или может фактически включать копирование фрагмента памяти, например, с использованием BitBlt, memcpy и т. Д.)
Поэтому разумный объем памяти выделяется для поддержки этого процесса для каждого компонента, для которого он включен. Если в вашем приложении много окон и / или компонентов, будет выделено немалое количество памяти. Если вам не требуется плавное визуальное обновление / прокрутка, зачем тратить эту память?
Конечно, есть также аргумент, что сегодня у большинства компьютеров есть достаточно памяти, так что зачем волноваться. Однако я до сих пор не вижу в этом причины по умолчанию включить двойную буферизацию, если она вам не нужна.
Если ручная установка DoubleBuffered в значение true является для вас проблемой, вы всегда можете создать свой собственный пользовательский элемент управления / компонент, который наследует от встроенного элемента управления, и установить для DoubleBuffered (и других свойств) требуемые значения по умолчанию.