|
23.09.2010, 07:13 | #1 |
Участник
|
не только дисплей-поля.
попробуйте обычный браузер таблиц. откройте его в стандартном варианте и с автоопределением ширины столбца. Цитата:
визуально - как только начинаются побочные эффекты с вертикальным скролбаром, так сразу отключение покажет эффект. Конечно же, автоопределение не зависит от скролбара. По-моему и проблемы со скорлбаром, и проблемы с автоопределением вызваны одной и той же причиной. |
|
23.09.2010, 18:12 | #2 |
Участник
|
Класс для проверки влияния autoSizeColumns() на время запуска форм
Цитата:
Возвращаясь к обозревателю, можно попробовать на двух таблицах: CustTrans и CustTransIdRef. Записей там должно быть одинаковое количество, при этом в CustTrans, в моем случае, более 100 полей, включая системные, в то время как в CustTransIdRef их всего 5. Впрочем, тут сложно отделить замедление, связанное с автоопределением ширины столбцов, от общего замедления, связанного с обработкой большего числа полей обозревателем. Во всяком случае, я лично отчетливо вижу разницу во времени открытия обозревателя для таблиц CustTrans и CustTransIdRef, однако, отключение автоопределения ширины столбцов для grid'ов формы обозревателя таблиц в моем случае не дает сколь-нибудь заметного ускорения. Цитата:
...В общем, для проверки влияния автоопределения ширины колонок на время открытия различных форм был написан небольшой класс. Ему при запуске (в коде main() - ибо класс написан на коленке) передается название формы либо идентификатор таблицы, которую надо открыть обозревателем. После этого класс эту форму в цикле открывает, ждет, пока клиент перейдет в состояние простоя, тут же форму закрывает и засекает, сколько времени (тиков) ушло с момента запуска. При этом основной цикл из ндцати открытий формы прогоняется дважды: сперва автоопределение ширины колонок отключается (в предположении, что используется приводившаяся мной доработка для SysSetupFormRun), а затем включается. У меня получились такие тестовые результаты: Код: Form 'SalesTable', autoSizeColumns( false ) 5159 ticks average per 10 times Form 'SalesTable', autoSizeColumns( true ) 6795 ticks average per 10 times Form 'SysTableBrowser' for LedgerJournalTrans, autoSizeColumns( false ) 2479 ticks average per 10 times Form 'SysTableBrowser' for LedgerJournalTrans, autoSizeColumns( true ) 2417 ticks average per 10 times |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
23.09.2010, 19:38 | #3 |
Участник
|
Цитата:
отличный подход! респект. я всего-лишь на глаз мерял. при выключенной автоширине значительно быстрее. но завтра замеряю. эксперимент - критерий истины. |
|
Теги |
ax2009, grid, syssetupformrun, грид, законченный пример, полезное, производительность, ширина |
|
|