AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2010, 07:13   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
не только дисплей-поля.
попробуйте обычный браузер таблиц. откройте его в стандартном варианте и с автоопределением ширины столбца.

Цитата:
Сообщение от Geo Посмотреть сообщение
До сих пор не замечал описанных в теме проблем. С какого примерно числа записей они должны начать проявляться?
как только записи не помещаются в буфер, так сразу начинается.
визуально - как только начинаются побочные эффекты с вертикальным скролбаром, так сразу отключение покажет эффект.

Конечно же, автоопределение не зависит от скролбара. По-моему и проблемы со скорлбаром, и проблемы с автоопределением вызваны одной и той же причиной.
__________________
полезное на axForum, github, vk, coub.
Старый 23.09.2010, 18:12   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Класс для проверки влияния autoSizeColumns() на время запуска форм
Цитата:
Сообщение от mazzy Посмотреть сообщение
не только дисплей-поля. попробуйте обычный браузер таблиц. откройте его в стандартном варианте и с автоопределением ширины столбца.
Не понял эту фразу... В стандартном варианте на всех гридах, включая те, что на форме обозревателя, автоопределение ширины столбца включено. Для обозревателя, на ряду с другими формами, его можно отключить. Я сперва засомневался и попытался, было, приделать в SysSetupFormRun вывод значения свойства autoSizeColumns() для всех открываемых форм (опять же, с помощью итератора ), но тут обнаружил, что соотв. метод на FormGridControl не возвращает текущее значение свойства, а лишь позволяет устанавливать его. К слову, если пользоваться предложенным мной вариантом, то после изменения перечня форм в методе SysSetupFormRun надо перезапускать клиента либо очищать закэшированное в GlobalCache множество названий форм, потому что произведенные изменения в коде не возымеют действия, пока есть закэшированное множество.
Возвращаясь к обозревателю, можно попробовать на двух таблицах: CustTrans и CustTransIdRef. Записей там должно быть одинаковое количество, при этом в CustTrans, в моем случае, более 100 полей, включая системные, в то время как в CustTransIdRef их всего 5. Впрочем, тут сложно отделить замедление, связанное с автоопределением ширины столбцов, от общего замедления, связанного с обработкой большего числа полей обозревателем. Во всяком случае, я лично отчетливо вижу разницу во времени открытия обозревателя для таблиц CustTrans и CustTransIdRef, однако, отключение автоопределения ширины столбцов для grid'ов формы обозревателя таблиц в моем случае не дает сколь-нибудь заметного ускорения.
Цитата:
Сообщение от mazzy Посмотреть сообщение
как только записи не помещаются в буфер, так сразу начинается. визуально - как только начинаются побочные эффекты с вертикальным скролбаром, так сразу отключение покажет эффект.
По-моему 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
Для обозревателя таблицы результат несколько неожиданный: автоопределение ширины колонок хоть чуть-чуть, но ускоряет, а не замедляет его открытие. Я гонял тест много раз - результат для обозревателя всегда повторялся. NB! Некоторые формы требуют указания параметров для успешного запуска, и их надо запускать через специальный пункт меню. Класс на это не заточен, кому надо - допилите.
Вложения
Тип файла: zip DEV_FormRunBenchmark.zip (3.5 Кб, 96 просмотров)
За это сообщение автора поблагодарили: mazzy (5).
Старый 23.09.2010, 19:38   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от gl00mie Посмотреть сообщение
По-моему Grid в любом случае при открытии формы считывает в память клиента одинаковое количество записей, разве нет?..
мне показалось (да, я не знаю. всего лишь показалось) что при автоопределении ширины колонок аксапта считывает все поля.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
У меня получились такие тестовые результаты:
отличный подход! респект.
я всего-лишь на глаз мерял. при выключенной автоширине значительно быстрее.
но завтра замеряю.

эксперимент - критерий истины.
__________________
полезное на axForum, github, vk, coub.
Теги
ax2009, grid, syssetupformrun, грид, законченный пример, полезное, производительность, ширина

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
findValue = false valentino DAX: Программирование 5 19.11.2009 11:36
Отчеты семейства "Оборотно-сальдовая ведомость", "Акт сверки" и прочие (RCash*) с ListView перед отчетом - настройка ширины столбцов Maximin DAX: Функционал 5 17.04.2009 15:10
Сергей Герасимов: Как отключить функциональность суммовых разниц Blog bot DAX Blogs 16 21.11.2008 17:12
Формат столбца при вставке через буфер breakpoint DAX: Программирование 11 23.05.2008 10:35
closeDocument(boolean _save = false, int _workBook = 1) Daido DAX: Программирование 1 03.11.2007 09:58

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:07.