Такой вопрос... Предположим, у нас есть главное окно программы... На нем — более сотни дочерних окошек, которые выводят какую-то информацию... Логично предположить, что если эти окошки выводят, условно, "сложную" информацию (ну, скажем... не просто TextOut, а чегой-то, связанное с графикой) + содержимое этих окошек меняется достаточно редко... То, наверное, стоит выставить этим окошкам стиль SS_BITMAP, и создавать-назначать им картинки — при изменении их содержимого, сводя обработку WM_PAINT к BitBlt?
Соответственно, вопроса два:
а. Целесообразно ли такое "кеширование"?
б. Если на вопрос "а" ответ "да", то где, по вашему мнению, проходит грань между "какие окошки надо кэшировать, а какие — нет"?
Re: Нужно ли "кешировать" WM_PAINT?
От:
Аноним
Дата:
21.01.08 08:47
Оценка:
_>а. Целесообразно ли такое "кеширование"?
если ты не закрашиваешь окно фракталом — нет.
_>б. Если на вопрос "а" ответ "да", то где, по вашему мнению, проходит грань между "какие окошки надо кэшировать, а какие — нет"?
если отрисовка окна занимает больше, скажем, 10 мс.
главный принцип WinAPI — "то, что можно просто пересоздать, не нужно запоминать".
лучше сделай процедуры отрисовки интеллектуальными — чтобы не рисовали вовне региона отрисовки.