0

Теперь я программирую графический интерфейс Matlab для доступа к текущей точке курсора по осям всякий раз, когда пользователь меняет местоположение курсора. Однако я обнаружил странное явление, что скорость windowButtonMotionFcn стала медленнее с увеличением количества объектов GUI. Ниже приведен результатMatlab GUI windowButtonMotionFcn замедляется при увеличении количества объектов GUI

http://i.stack.imgur.com/fwjCK.jpg

Я установить свойство всех объектов GUI как значение по умолчанию и моей операционной системе Matlab версия Matlab 2012a. Есть ли способ сохранить скорость windowButtonMotionFcn при увеличении количества объектов GUI?

Благодарим за внимание и помощь. Myrick

ответ

0

Я не знаю точно, как рукоятка события реализована в Matlab. Однако представляется разумным, что больше объектов gui замедлит процесс. Подумайте об этом, больше объектов gui требует больше памяти, больше объектов для обработки, больше кода, более длинных списков для поиска ... Я также испытал, что графические интерфейсы, созданные с помощью GUIDE, обычно медленнее, чем GUI, сделанный вручную. Это не проверено в любом случае и, таким образом, не подтверждено. Однако, когда мне не нужно слишком много объектов в графическом интерфейсе, я обычно предпочитаю их создавать вручную. Гиды GUIDE обычно более общие, но в большинстве случаев в любом случае используется только подмножество средств.

0

Попробуйте использовать фигуры основной Java кадра MouseMovedCallback:

jFrame = get(handle(hFig), 'JavaFrame'); try % This works up to R2011a jClient = jFrame.fFigureClient; catch try % This works from R2008b and up, up to HG2 jClient = jFrame.fHG1Client; catch % This works in HG2 jClient = jFrame.fHG2Client; end end jWindow = handle(jClient.getWindow, 'CallbackProperties'); set(jWindow, 'MouseMovedCallback', @matlabCallbackFunction);