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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2005, 19:03   #10  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Йоу!! Я то думал там всё так круто, что даже стеснялся заглянуть, а там....

Вобщем градусник пресчитывается на каждый inccount, хотя реально прогесс бар рефрешится ТОЛЬКО на каждый процент...

Во вложении градусник (VKUL_SysOperationQuick), который, рефрешится на каждый процент, т.е. типа не тормозит

Добавлены методы:
- incCountQuick() аналог обычного incCount, только работает быстро
- updateCount() - для любителей экстремального разгона задает КОЛИЧЕСТВО записей после которого вызывать рефреш. Если параметр не задан - рефрешится будет каждый 1% записей.
- setText не переопределял, ибо некогда.. Погоняю класс, если всё ок - модифицирую базовый класс и там посмотрим. Другими словами settext тормозит по прежнему.

По поводу мнения, что в общем объеме вычислений затраты на тормоза градусника потеряются - доложу завтра. Сильно сомневаюсь ибо не оптимист я по отношению к быстродействию Аксапты Как раз мне себестоимость за пол года пересчитать надо

Ниже результаты тестов. 2 поледних жопа- с использованием быстрого градусника.

PHP код:
static void Job24(Args _args)
{
    
reqitemtable it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    
int         i;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    While 
select RecId from it
    
{
        
it.RecId;
      
//  progr.setText("");
      //  progr.incCount();
    
}
    
info(time2str(TimeNow()-t,0,0));
}

-- 
info 10:52

static void Job24(Args _args)
{
    
reqitemtable it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    
int         i;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    While 
select RecId from it
    
{
        
it.RecId;
        
progr.setText("");
        
progr.incCount();
    }
    
info(time2str(TimeNow()-t,0,0));
}

-- 
info 46:31

static void Job24(Args _args)
{
    
reqitemtable it;
    
VKUL_SysOperationProgressQuick    progr = New VKUL_SysOperationProgressQuick();
    
timeofday   t;
    
int         i;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    While 
select RecId from it
    
{
        
it.RecId;
       
// progr.setText("");
//        progr.incCount();
        
progr.incCountQuick();
    }
    
info(time2str(TimeNow()-t,0,0));
}

-- 
info 16:36

static void Job24(Args _args)
{
    
reqitemtable it;
    
VKUL_SysOperationProgressQuick    progr = New VKUL_SysOperationProgressQuick();
    
timeofday   t;
    
int         i;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    
progr.updateCount(1000000);
    While 
select RecId from it
    
{
        
it.RecId;
       
// progr.setText("");
//        progr.incCount();
        
progr.incCountQuick();
    }
    
info(time2str(TimeNow()-t,0,0));
}

[
B] -- info 10:40 !!![/B
:-\

ЗЫ: записей 10 миллионов
Вложения
Тип файла: xpo vkul_sysoperationprogressquick.xpo (3.1 Кб, 421 просмотров)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
После смены версии клиента тормозит класс SysFormTreeControl egorych DAX: Программирование 0 29.08.2007 15:30
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Тормозит прогнозное планирование Perc DAX: Администрирование 15 30.01.2007 23:08
Тормозит форма складских проводок chel DAX: Администрирование 9 08.08.2005 16:46
display метод тормозит Woland DAX: Программирование 4 28.03.2005 14:49

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

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

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