Bonjour à tous,

Je réalise une interface graphique avec Matlab où il s'agit d'acquérir des données venant d'une carte d’acquisition et de les afficher avec une vue sectoriel:
Nom : vueSect.png
Affichages : 356
Taille : 69,0 Ko

Les données A sont une matrice de dimensions Nt*Nang où Nang est le nombre d'angles. Pour l'instant, la façon la plus rapide d'afficher est d'utiliser la fonction "surf" et de régler l'angle de vue de façon à avoir une image:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
surf(X,Y,A,'edgecolor','none');
set(gca,'YDir','reverse')
axis equal
view(0,90)
Ensuite, dans la GUI j'utilise un handle pour initialiser la vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
axes(handles.S1_axes)
h_S1 = surf(handles.S1_axes,X,Y,A,'edgecolor','none');
et dans une boucle while où les données A arrivent en permanence je mets à jour le handle et j'utilise drawnow pour tracer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
set(h_S1,'ZData',A);
drawnow
Mon problème est qu'un jeu de données arrive en 0.002s et que l'affichage dure 0.10s... L'affichage prend donc la majorité du temps de l'application. Est-ce que vous auriez des idées pour accélérer ce temps d'affichage ?

Merci d'avance pour vos réponse.
Bonne journée.