End of the day commit

This commit is contained in:
2023-05-24 16:43:36 +02:00
parent 734ffe4f4b
commit cee58a56de
+34
View File
@@ -2952,3 +2952,37 @@ EN FAIT C'EST BON !! Il fallait juste que je croie en mon code original !!!
J'ai réussi à paralelliser mon ancien code. Il ne manquait presque rien mais M.Bonvin voulait absolument que je change le reste. Maintenant j'ai une detection qui se fait en quelques secondes c'est genial.
## Mercredi 24 Mai 2023
Alors hier je n'ai pas bien eu le temps d'expliquer ce que voulait que M.Bonvin. En fait mon programme actuellement utilise un découpage qui peut parâitre complexe. Et de par sa nature, il pensait qu'il était simplement impossible de paralelliser le traitement car trop complexe et trop couteux.
Il voulait donc que je passe sur un traitement plus simple. L'idée était que on s'occupe dabord de faire une liste de toutes les Windows et de les traiter toutes à la fois pour éviter que les boucles soient trop complexes. Sauf que pour implémenter un truc pareil c'est énormément de code car cela va à l'encontre totale de la facon dont mon projet fonctionne actuellement.
Mais comme j'étais ouvert à d'autres solutions. J'ai passé six heures à tenter de l'implémenter. Il en aurait fallu au minimum deux jours soyons clair. Et en fait on s'est retrouvés devant pleins de problèmes qui ne se posent pas dans mon architecture originale.
Par exemple. On a pas trouvé de methode simple pour découper les images des fenêtres de manière thread safe. Il aurait donc fallu ajouter des boucles en préalable pour tout découper et le faire de manière séquencielle.
Ensuite vient le problème que si on traite toutes les données dans des boucless paralelle on perds leur position originale donc il faut faire une classe pour stocker les résultats temporaires.
Il y a aussi le soucis que les Windows ont certe une position mais elle est relative au parent et à l'image parente. Donc il faudra faire un système qui convertis les windows en position absolue sur l'image.
Ca peut paraître être de simples changements mais deja il y en a pas mal d'autres et franchement même si l'idée originale aurait pu simplifier les choses. Les sacrifices que l'on doit faire pour la faire marcher sont juste trop moches et à mon avis ne sont pas du tout aussi logiques que mon découpage original.
Cette expérience m'a quand même permis de me rendre compte des endroits dans mon code qui sont plus ou moins difficile à maintenir et cela m'a fait me rendre compte que ma solution n'était pas forcément la plus simple pour tout le monde mais que mine de rien elle peut être efficace.
La je suis en train de rajouter les routes pour la vue. Je me suis dit que ca serait une bonne idée de permettre aux users de cliquer sur un pilote pour avoir ses infos. Mais je me suis dit que ce qui serait encore plus cool serait de pouvoir cliquer sur un des temps au tour d'un pilote et qu'une petite fenêtre s'ouvre pour indiquer les temps par secteurs.
Mais en faisant ca je me rends compte qu'il y a quelques soucis dans la facon que je conserve les infos dans la DB et je peux voir directement quand la reconnaissance a du mal avec certains pilotes ou des positions. Ca arrive plus souvent que ce que je voudrais que un pilote soit mal detecté. Mais ce qui est drôle c'est que c'est parfois sur une deux voire trois reconnaissance que le pilote n'est plus reconnu mais ensuite tout va bien.
Il faut que je travaille un peu plus sur le filtrage de ces données limites et peut-être de voir si la reconnaissance de la position pourrait être un peu vérifiée.
Bon pour être honnête je ne pense pas que le code qui concerne l'affichage soit le meilleur code que j'aie pu produire dans ma vie de développeur mais en même temps je n'ai pas forcément le temps de le rendre magnifique. La le but est simplement que tout marche. (Et c'est un peu la même phylosophie dans tout le reste du projet lol)
Demain il me reste pas mal de choses à faire et c'est la dernière journée ou je peux les faire.
- Rendre la form plus jolie et changer les couleurs
- Rendre la form Responsive
- Ajouter les bons messages d'erreur qui vont bien
- Modifier les messageBox d'erreur pour qu'elles soient plus agréables à utiliser
- Clean un peu le code modèle vue controller
- Si j'ai le temps ajouter les bons commentaires les bonnes entêtes partour