|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
По сравнению с выводом протокола в файл - вывод на экран во-первых безумно медленный, во вторых иногда теряет данные. Но вопрос про скорость. Как там сделано, как только от сервиса B&R приходит строка, она тут же добавляется в TMemo ? Можно переделать на внутренний буфер (TList<string>, на худой конeц TStringList) и вывод на экран в TMEmo 3-4 раза в секунду через TTimer ? Обычно это ускоряет работу в несколько раз, когда много текста вбрасывается в TMemo по ходу процесса. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2017, 14:03 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
Arioch, мне казалось что FB сам там буферизирует вывод и отдаёт пачками ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2017, 14:46 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
Симонов Денис, попробуй сделать БД, в которой будет, например, 1000 таблиц и 1000 пользователей, и у каждого пользователя на каждую таблицу есть грант потом посмотри скорость рестора в IBE с детальным протоколом - сравнительно в файл и на экран ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2017, 17:15 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
на всякий случай, пример на коленке вывода в TMemo "с фиксированным FPS" https://stackoverflow.com/a/39099679/976391 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2017, 17:33 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
AriochМожно переделать на внутренний буфер (TList<string>, на худой конeц TStringList) и вывод на экран в TMEmo 3-4 раза в секунду через TTimer ? Оптимизация ради оптимизации. Нафиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 04:06 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
IBExpertAriochМожно переделать на внутренний буфер (TList<string>, на худой конeц TStringList) и вывод на экран в TMEmo 3-4 раза в секунду через TTimer ? Ускорение работы в 3-4 раза ради ускорения работы. Нафиг. Любопытный подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 11:20 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
AriochУскорение работы в 3-4 раза В некоторых случаях. Я тебе больше скажу: отключив вывод вообще, в тех же случаях можно получить ускорение в несколько десятков раз. А для оптимизации вывода в TMemo не нужны никакие таймеры с внутренними буферами. Достаточно Lines.BeginUpdate/EndUpdate дергать умеючи, ибо тормоза связаны с отрисовкой содержимого редактора, а вовсе не с добавлением строк в него. Так что, в принципе, ты прав: можно и оптимизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 14:52 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
с таймером лучше по двум причинам 1) биологические ограничения, если обновлять 3, максимум 4 раза в секунду - человек что-то видит. А если чаще - сливается текст. 2) А как ты "Lines.BeginUpdate/EndUpdate дергать умеючи" будешь делать ? через GetTickCount? через счетчик добавленных, но не выведенных на экран строк ? Да ещё после окончания процесса надо будет понять, ножно EndUpdate или не нужно вызывать. В общем-то ты прав, можно по разному буфферизацию и троттлинг сделать. На мой взгляд - TTimer + TList<string> / TThreadList<string> проще и понятнее. Но это только один изв ариантов, конечно же. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 16:18 |
|
backup/restor, GUI protocol, TMemo
|
|||
---|---|---|---|
#18+
Arioch2) А как ты "Lines.BeginUpdate/EndUpdate дергать умеючи" будешь делать ? через GetTickCount? через счетчик добавленных, но не выведенных на экран строк ? Да ещё после окончания процесса надо будет понять, ножно EndUpdate или не нужно вызывать. 1. Через GetTickCount. 2. property UpdateCount: Integer read FUpdateCount ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 17:12 |
|
|
start [/forum/topic.php?fid=42&fpage=17&tid=1599043]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 184ms |
0 / 0 |