Почему мое автономное приложение, скомпилированное Matlab, работает намного медленнее, чем при выполнении из Matlab?

Итак, вот моя установка:

  • У меня есть приложение с графическим интерфейсом, написанное в Matlab (2011b 64 бита).
  • Актуальны ? это приложение вызывает dll, написанную на С++, скомпилированную VC10 и nvcc (компилятор cuda).
  • Я настраиваю Matlab для компиляции с VC10 при запуске «mbuild -setup».
  • I compile this application with the Matlab Compiler toolbox using default settings. The compilation line is:

    mcc -o ICEM -W main:ICEM -T link:exe -d C:\Users\Ernest\Documents\Matlab\icem\ICEM\src -w enable:несовпадение_указанного_файла -w enable:повторяющийся_файл -w enable:switch_ignored -w enable :missing_lib_sentinel -w enable:demo_license -v C:\Users\Ernest\Documents\Matlab\icem\Main.m

В результате приложение работает нормально, но на порядок медленнее, чем когда Я запускаю его прямо из Matlab.

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

У вас есть идея, откуда это могло взяться?


person Ernest_Galbrun    schedule 07.05.2013    source источник
comment
Нет, проблема не в запуске. Ну, это тоже, но я знаю об этом. Моя проблема возникает во время выполнения программы.   -  person Ernest_Galbrun    schedule 07.05.2013
comment
Не могли бы вы попробовать синхронизировать различные части кода с помощью tic и toc и посмотреть, в чем большая разница между скомпилированным и нескомпилированным? Кроме того, если это не запуск, то доступ к файлу/каталогу будет моим следующим подозреваемым.   -  person Dennis Jaheruddin    schedule 07.05.2013
comment
Итак, проблема была связана с тем, что графический интерфейс не обновлялся так часто, когда работал как автономный. Я добавил отрисовку, и теперь она работает нормально, но я до сих пор не понимаю, почему автоматическое обновление не происходит одновременно в скомпилированной версии, это где-то задокументировано?   -  person Ernest_Galbrun    schedule 09.05.2013