Bonjour,
J'ai des vecteurs représentant des traces d'oscillo de plusieurs centaines de milliers de points chacunes. Chaque vecteur est stocké dans le workspace de base.
J'affiche ces vecteurs sur plusieurs axes par subplot + plot à l'intérieur d'un uipanel.
La figure peut donc parfois avoir 4 ou 5 courbes de 500.000 points à afficher, ce qui est très lourd. De plus, chaque vecteur est en fait contenu deux fois en mémoire : une fois dans le workspace de base, une fois dans les propriétés des objets 'line' (XData et YData), ce qui occupe d'autant plus de mémoire RAM.
Bien sûr quand la courbe est affichée en entier, je n'ai pas besoin des 500.000 points pour chaque courbe ; j'en ai juste besoin si je dois zoomer dans certaines parties de la courbe. Quand j'affiche tout (sans zoomer), par exemple, on pourrait imaginer que je n'affiche qu'un point sur dix afin d'alléger la figure. Mais je me demande si ce n'est pas déjà ce que fait 'plot' : affiche-t-il réellement les 500.000 points à l'écran et donc en écrasant les points les uns sur les autres (parce que mon écran ne fait pas 500.000 pixels de large) ? Ou bien fait-il qqch de plus intelligent pour ne pas s'alourdir ?
En gros, si je fais moi meme une réduction de la courbe à un point sur 10 (par exemple) quand j'affiche la courbe entière, est ce que ca va accélérer le traitement ? Si je zoome, je récupèrerais les nouvelles xmin xmax et j'afficherais un point sur 5 ou un point sur 2 de l'intervalle [xmin xmax] et en changeant les paramètres 'XData' et 'YData' de chaque 'line'.
Ca c'est l'idée. Je voudrais juste savoir si ca a des chances d'être plus rapide que le plot de base associé au zoom standard.
Partager