• Регистрация
fatbad
fatbad 0.00
н/д

ускорение загрузки приложения созданого в appdesigner

Коллеги, добрый день.

 

Подскажите, пожалуйстса, как увеличить скорость загрузки/прорисовки форм для приложения созданого в апдизайнере. Сами формы рисует быстро, но приложение висит до 7 минут и только потом начинает отображать текущую ситуацию. Причем опрос датчиков происходит, но графика не отображает текущие значения. Если несколько раз подряд запускать разрабоотаное приложение из средв аппдизайнера время выполнения

disp("создали формы")
tic
drawnow
toc

увеличивается. 

 

 

 disp("старт")
            tic

            %             app.UIFigure.Visible=0;
            %создание графических форм
            app.MainTabGroup = uitabgroup(app.UIFigure);
            app.MainTabGroup.Position = [0 96 app.UIFigure.Position(3) 470];

            %создание окна активных аварий
            app.TextArea_activeAlarm=uitextarea(app.UIFigure);
            app.TextArea_activeAlarm.Position = [0 0 app.UIFigure.Position(3) 96];
            app.TextArea_activeAlarm.Editable = 0;
%создание форм
            for i=1:height(app.names)
                fc_createTab(app,app.names{i,1},app.names{i,2})
            end
            %формирвание таблицы аварий
            app.actErrorArray=zeros([1,length(app.alarmList)]);
            app.actAlarmTable = table(app.alarmList);
            app.actAlarmTable.Properties.VariableNames = {'AlarmMsg'};
            for i=1:height(app.names)
                app.actAlarmTable=[app.actAlarmTable...
                    table('Size',[height(app.actAlarmTable) 1], 'VariableNames',app.names(i,2),  'VariableTypes',{'double'}) ...
                    ];
            end
            app.UIFigure.Visible=1;
            toc
            disp("создали формы")
            tic
            drawnow
            toc
            while app.work
                for i=1:height(app.names)
                    conectionCheck(app, i);
                end
                fc_TextArea_activeAlarm(app)
                app.Label.Visible=0;
                drawnow limitrate;
            end
            delete(app)

Теги

      25.07.2023

      Ответы

      • fatbad
        fatbad0.00
        25.07.2023 13:33

        Нашел. После каждого нарисованного элемента добавляете drawnow limitrate;