Тормоза с перерисовкой контролов после апгрейда до 1.4
Модератор: Модераторы
Согласен с zub'ом. Вы своим Refresh'em (ненужным, к слову сказать
) исправляли какой-то старый косяк в старом LCL. Стоит ли пенять на то, что Ваш код тормозит на каком-то совершенно ненужном для алгоритма программы действии?
PVOzerski писал(а):Можно предположить, что тормозит метод TGraphicControl.Refresh.
TGraphicControl.Refresh пытается захватить монопольно тот кусок канвы, который он собирается перерисовать. TWinControl рисуется сначала в памяти, а потом сразу копируется на канву.
>>Можно предположить, что тормозит метод TGraphicControl.Refresh
"тормозит" реализация gtk2 бакенда и "искать" надо там
"тормозит" реализация gtk2 бакенда и "искать" надо там
-
PVOzerski
- постоялец
- Сообщения: 109
- Зарегистрирован: 19.05.2005 13:45:10
- Откуда: СПб
- Контактная информация:
За это время сделал вот что: пересобрал "бегающий" тестик под qt и увидел, что там Refresh просто не работает (нет отрисовки контрола во время "бега"). Рискну предположить, что в Lazarus 1.2.x/GTK2 было так же. Возможно, в ближайшее время проверю на компе со старым Лазарем (на этом переставлять очень не хочется).
И так и эдак. Я попробовал вынести синхонизацию на отрисовку контролов. Мемо заменил стринглистом (вывод в мемо, а работа в стриглисте). Ну..у и слип запихнул в екзекуте (так система "отдохнуть" успеваетС отрубленным Refresh или с работающим?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Да это и патчем назвать трудно. Просто мысли.
Желательно поток отдельно вывести из главного модуля. Плюс пореже "терзайте" мемо (он сильно обидчив, может притормаживать, да и зачем его трогать если он только для показа). И синхронизировать цикл весьму мудрено мусье
Желательно поток отдельно вывести из главного модуля. Плюс пореже "терзайте" мемо (он сильно обидчив, может притормаживать, да и зачем его трогать если он только для показа). И синхронизировать цикл весьму мудрено мусье
