Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:robo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:futur:robo [2017/04/04 16:35] bomancommit:futur:robo [2019/07/10 14:43] (current) boman
Line 1: Line 1:
 ====== Commit ====== ====== Commit ======
  
-===== Nettoyage VTK =====+===== VizWin/BWin Linux =====
  
-Suite à la migration VTK6, mon Metafor démarrait en plus de 6 secondes sur ma machine Ubuntu. Après une petite analyseje me suis rendu compte que toutes les libs VTK de ma machine étaient chargées en mémoire suite à une opération de link un peu brutale (je linkais avec toutes les libs, c'est-à-dire ''VTK_LIBRARIES''). Comme les libs VTK d'Ubuntu sont très complètesje me retrouvais avec plus de 300 .so à chargerdont certaines utilisant MPI... J'ai donc pris le temps de nettoyer ça et de sélectionner une à une les libs VTK qu'on utilise réellement+Lorsqu'on utilise Metafor sous Linuxon se rend compte que le développement a été effectué sous Windows. Les widgets de 'BWin', par exempleont été dimensionnés (en dur) suivant la largeur de la police de caractère de Windows. On se retrouve alors avec des widgets "trop étroits" sous Ubuntu qui utilise une police plus large.
  
-Seul petit problème (qui m'a pris une petite journée à résoudre)VTK6.2 d'Ubuntu ne charge pas correctement toutes les libs nécesaires à l'utilisation de ''vtkXYPlotActor'' et, si on ne linke pas explicitement avec ''vtkRenderingfreeType*'', on se retrouve avec une version dont les fenêtres de courbes sont gelées.+{{:commit:2019:bwin_avant2.png?300|avant}} {{:commit:2019:bwin_apres.png?300|après}}
  
-===== Nettoyage CMake 3.x =====+J'ai donc passé sur tous les widgets pour effacer toutes ces tailles fixées "en dur".
  
-J'en ai profité pour gérer correctement les warnings liés aux nouvelles ''POLICY'' de CMakeEn effet, lorsque CMake change de comportement au cours des versions, les développeurs définissent une nouvelle ''POLICY'' qui, par défaut n'est pas définie (et produit un warning) et qui peut valoir ''OLD'' (la valeur par défaut - mais qui traduit un comportement qui sera supprimé bientôt) et ''NEW'' (le nouveau comportement qui nécessite peut-être une phase de debug des ''CMakeLists.txt''. J'ai donc activé les nouvelles ''POLICY'' à ''NEW'' et... ça a l'air de marcher.+Un autre problème sous Ubuntu est l'ouverture des fenêtres 'VizWin'. Elles s'ouvrent par moment avec une taille ridicule qui correspond à la taille de la fenêtre VizWin dans le QtDesignerNormalement VizWin doit s'afficher et se redimensionner soit à la taille par défaut, soit à la taille qui a été sauvegardée précédemment. Cette opération de redimensionnement se passe mal sur le bureau Gnome et je suspecte une interaction non voulue entre cette opération de redimensionnement et les effets de bureau de Gnome où les fenêtres n'apparaissent pas d'un seul coupUn autre facteur qui ne vient pas aider est le fait que, dans Metafor, l'interface graphique est dans un thread séparé, piloté par le thread python via des requêtes inter-threads dont je ne connais pas les détails techniques.
  
-===== Nettoyage images PNG =====+J'ai essayé de jouer sur plusieurs plans pour obtenir un bon redimensionnement. Au final, ça marche beaucoup mieux qu'avant mais ça ne marche pas toujours. J'ai donc simplement augmenté la taille de VizWin dans le QtDesigner pour que, quand ça foire, la fenêtre ne soit pas minuscule.
  
-Le nouveau Qt détecte et signale des erreurs dans les profils de couleur de certains PNG. J'ai donc passé tous les PNG du repository à travers PngOptimizer. Ca a supprimé tous les warnings et, accessoirement, ça a réduit la taille de quelques fichiers.+===== ProjectionSelector =====
  
 +Les cas tests de redressage pour Minitubes nécessitent l'utilisation de l'ancien projection selector codé par Ludo sur base du travail de Denis Graillet. En effet, le nouvel algorithme de Gaëtan provoque des mauvaises projections qui ne sont clairement pas normales à la surface. Le problème avec l'ancien algorithme, c'est qu'il affiche, dans certains cas pathologiques, des infos pour dire qu'il ne s'en sort plus dans le choix des projections multiples et qu'il choisit alors la première. Ces infos sont tellement courantes dans les tests de redressage (2 tubes maillés qui sont en contact l'un dans l'autre), que le fichier de sortie devient énorme. 
  
-===== Nettoyage macOS =====+J'ai donc simplement supprimé l'affichage de ces warnings (ils sont connus et ne servent que si quelqu'un voulait débuguer le truc) 
  
-J'ai continué la compilation macOS sur le mac du service (''spirou''). J'arrive maintenant à tout compiler (j'ai ajouté parasolid, MUMPS, oo_nda). pour fêter ça, j'ai défini un ''CMake/macos.cmake'' (config de compilation complète) et ''CMake/macos-student.cmake'' (config de compilation sans oo_nda, ni parasolid). 
-J'ai supprimé ''CMake/OSX-student.cmake'' qui n'est plus utile. 
  
-L'aspect de la fenêtre graphique de metafor était très moche sur Mac dû à un mauvais choix de police de caractère. J'ai donc changé la manière dont les polices de type "monospace" sont choisies. Le rendu est maintenant parfait sur toutes les plateformes (si on utilise Qt 5.2). +===== Tabs/Espaces =====
- +
- --- //[[r.boman@ulg.ac.be|boman]] 2017/04/04 16:35//+
  
 +J'ai supprimé les tabs qui avaient été ajoutés lors de commits précédents (principalement par Gaëtan).
  
 + --- //[[r.boman@ulg.ac.be|boman]] 2019/07/10 14:27// 
  
commit/futur/robo.1491316551.txt.gz · Last modified: 2017/04/04 16:35 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki