"EhLib.Com"
https://forum.ehlib.com/ru/

Резко снизилась скорость загрузки данных при RequestLive
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2845
Страница 1 из 1

Автор:  Alexsashka [ 11 авг 2019, 16:36 ]
Заголовок сообщения:  Резко снизилась скорость загрузки данных при RequestLive

В разы снизилась скорость загрузки данных при RequestLive=true в TQuery + TDbGridEh (Ehlib 9.3.0.33).

Попробую объяснить суть вопроса. Есть старая, но активно работающая программа где используется версия библиотеки EhLib 5.6.
В большей части программы используется прямое редактирование данных в таблицах. Т.е. TQuery переводится в режим TQuery.RequestLive := true и выполняется редактирование нужных полей. Затем сохранение через "TQuery.Post" . Выход из режима редактирования - TQuery.RequestLive := false;
Там же, в форме есть окно поиска по одному из полей. (поле телефон).

Так вот, раньше, когда стояла версия Ehlib 5.6. не было никаких проблем. И переключение в режим редактирования (RequestLive := true) происходило быстро. И поиск В РЕЖИМЕ РЕДАКТИРОВАНИЯ то же происходил быстро. ~0,5 сек.
Сейчас же, когда решил попробовать версию Ehlib 9.3.0.33, переключение в режим редактирования TQuery.RequestLive := true происходит примерно за 5 сек. (48 записей выбирается (но записей в базе гораздо больше)).
Правда переключение из режима редактирования (RequestLive := false) происходит быстро, за ~0,5 сек.

Когда производишь поиск напр. по телефону, - вообще тормоза ,- невозможно работать, - нажал букву - сиди-жди. Передвижение по гриду с жуткими тормозами.
Можно ли как то вернуть скорость работы как в предыдущих версиях?
Настройки грида - по умолчанию. Никаких SumList и футеров и др. нету.
Повторюсь - речь идет о режиме TQuery.RequestLive := true;. В режиме работы TQuery.RequestLive := false; - скорость работы нормальная.

Автор:  EhLibSupport [ 11 авг 2019, 21:25 ]
Заголовок сообщения:  Re: Резко снизилась скорость загрузки данных при RequestLive

Добрый день.

На Демо проекте проблема со скоростью не воспроизводится.
Вы можете поменять Демо проект так, чтобы проблема стала воспроизводиться?

Вложения:
2019-08-12-TQuery-RequestLive.zip [1.81 KiB]
Скачиваний: 74

Автор:  Alexsashka [ 12 авг 2019, 15:20 ]
Заголовок сообщения:  Re: Резко снизилась скорость загрузки данных при RequestLive

Вот ссылка на проект.

https://yadi.sk/d/aZgWfHITjc9UIw

Во вложении тестовый проект.
Поработайте с RequestLive.

Уверяю что с v.5.6 было все Ок. Сейчас на ней и работают.

С уважением.

Автор:  EhLibSupport [ 12 авг 2019, 23:26 ]
Заголовок сообщения:  Re: Резко снизилась скорость загрузки данных при RequestLive

Добрый день.

В режиме TQuery.RequestLive = True очень медленно работает функция function TBDEDataSet.GetRecordCount: Integer; (property RecordCount)
В DBGridEh не возможности отключить вызов DataSet.RecordCount для настройки вертикального скролбара.

Для решения проблемы вашего случая, вы можете изменть код в методе:

Код:
procedure TCustomDBGridEh.GetDataForVertScrollBar(var APosition, AMin, AMax, APageSize: Integer);
...
      //if SumList.IsSequenced then //OLD CODE
      if False then // NEW CODE
...


чтобы DataSet.RecordCount не вызывался.

Автор:  Alexsashka [ 13 авг 2019, 02:49 ]
Заголовок сообщения:  Re: Резко снизилась скорость загрузки данных при RequestLive

Спасибо за ответ.
Тормоз действительно в этом куске кода. Буду думать как "выкрутиться". (Если получится).
Хотелось бы что бы и вертикальный скроллбар остался работать хоть как то.

Автор:  Alexsashka [ 13 авг 2019, 17:10 ]
Заголовок сообщения:  Re: Резко снизилась скорость загрузки данных при RequestLive

Ничего не получается. А скроллбар нужен. Видимо нужно оставаться на версии 5.6.

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/