編譯我的一個應用程序時,使用R2015b部署的mcc編譯器,3D視圖的旋轉(即在工具欄中使用rotate3D按鈕)現在速度非常慢,這是一個奇怪的問題,而不是在編譯與R2013b完全相同的代碼時。在R2013b或R2015b環境中運行應用程序時,旋轉在兩種情況下都非常流暢/平滑。使用mcc編譯時3D旋轉速度慢R2015b
我想一個更簡單的代碼等同於3D我在我的應用程序:
function [] = TestCompiledRotationR2015b()
%[
% Create random data
azimuths = linspace(0, 359, 360) * pi/180;
elevations = linspace(0, 180, 181) * pi/180;
[A, E] = ndgrid(azimuths, elevations);
Data = sin(7*(E-pi/2))./(7*(E-pi/2));
Data(isnan(Data)) = 1;
Data = Data .* abs(cos(0.5*A));
ff = figure(42);
X = cos(A) .* sin(E);
Y = sin(A) .* sin(E);
Z = cos(E);
surf(X, Y, Z, abs(Data));
% Set axes properties
shading flat;
set(gca, 'DataAspectRatio', [1 1 1]);
set(gca, 'Visible', 'off');
xlim([-1 1]);
ylim([-1 1]);
zlim([-1 1]);
uiwait(ff);
%]
我也試圖與更復雜的一個(使用GUI佈局板和卡,我在我的應用程序中使用了很多)。 ...我記錄了'渲染'的細節,以防萬一(在編譯和非編譯模式下opengl完全硬件加速)......但未能重現我編譯的應用程序中的慢速旋轉。
所以在這裏,我只是想知道,如果你們中的任何嘗試是同一個問題(3D不僅速度慢時R2015b且僅用於某些應用程序編譯)......我覺得有什麼不對,我做的,但爲什麼它在R2013b中工作,爲什麼它在R2015b環境中仍然可用(即未編譯...僅編譯R2015b引起問題)是一個完整的謎團。
**編輯**
我試圖激活探查移動鼠標時約1分鐘兩種編譯和未編譯模式,沒有什麼特別的,除了它在編譯模式(大幅減少刷新率〜160個電話在編制模式與環境模式4100個話費)
確認...調用matlab代碼是不是在UI線程...同步解決了這個問題(雖然我不明白爲什麼問題是不可見的R2013b ......無論如何是這樣)。 – CitizenInsane