CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Handicapé par Python

Eichler
Eichler
Niveau 6
07 juin 2021 à 20:02:56

Ce qui m'amuse en ce moment c'est de simuler visuellement des phénomènes physiques en python. Mais je me retrouve rapidement limité par ce langage. Par exemple, dès que j'essaie d'update en temps réel une matrice de plusieurs centaines d'éléments, mon environnement graphique crash systématiquement. Quel langage me permettrait de faire ça ?

godrik
godrik
Niveau 30
07 juin 2021 à 20:08:34

Si ton environment graphique crash, c'est la faute de ton systeme d'exploitation; pas de ton langage de programmation.

Dis nous en plus.

theytaz3
theytaz3
Niveau 6
08 juin 2021 à 00:04:08

Ça m'arrive assez souvent de manipuler des matrices avec des dizaine de millier d'élément et j'ai 0 problèmes.

Déjà t'utilise numpy ? Tu manipulé comment tes donnée ? Car si tu code du python sans faire d'optimisation, ça peut trés vite prendre un temps fou.

godrik
godrik
Niveau 30
08 juin 2021 à 00:28:46

C'est pour ca que je demande a en savoir plus. Les gens pense souvent que "ca march epas, il faut que j'utilise un autre langage/bibliotheque". Mais c'est rarement la bonne solution au probleme. Un code en python ne devrait pas crashe un environment graphique. Probablement le code consomme enormement de memoire et cause OOM et swap. C'est aussi possible que le code dump son etat sur le disque et sature le systeme de fichier. (Une autre hypothese est que le code fork-bomb, mais c'est peu probable compte tenu de la question d'OP.) Dans tous les cas, c'est un probleme de l'OS plus qu'un probleme de langage.

Sans en savoir plus, on tire a l'aveugle.

Eichler
Eichler
Niveau 6
08 juin 2021 à 01:13:13

Je suis sous Windows 10 avec 8 GB de ram. C'est vrai que je n'ai pas pensé à utiliser un autre OS et que je n'importe jamais numpy, mais quand je print ma matrice dans la console itération par itération, je ne rencontre aucun problème. Dès que je convertis ma matrice dans un GUI, la fenêtre ne répond plus.

godrik
godrik
Niveau 30
08 juin 2021 à 02:55:42

The plot thickens!

Comment synchronises tu ton application graphique et le calcul sous jacent? Ton application graphique est dans la meme application python j'imagine? Quel bibliotheque graphique utilises tu?

Eichler
Eichler
Niveau 6
08 juin 2021 à 14:29:41

J'utilise pygame. J'ai une boucle while avec dans cet ordre :
Fonction qui modifie les valeurs de la matrice
time.sleep
display.update

godrik
godrik
Niveau 30
08 juin 2021 à 15:12:09

et la fonction qui met a jour la matrice ptend combien de temps?

Eichler
Eichler
Niveau 6
08 juin 2021 à 16:34:04

Moins d'une seconde, un peu plus d'une seconde quand la matrice est vraiment grande

boucif
boucif
Niveau 24
08 juin 2021 à 16:35:11

Le 08 juin 2021 à 14:29:41 :
J'utilise pygame. J'ai une boucle while avec dans cet ordre :
Fonction qui modifie les valeurs de la matrice
time.sleep
display.update

t'as pas de timer ou la possibilité de faire ça dans un thread séparé, ta fonction freezerait pas le GUI par hasard ?

Eichler
Eichler
Niveau 6
08 juin 2021 à 17:02:30

Je suis désolé de vous avoir fait perdre votre temps
J'ai simplement réinstallé pygame et ma simulation tourne sans problème
Je ne sais pas à quoi c'était dû
Et désolé à Python de l'avoir sous-estimé

Pseudo supprimé
Pseudo supprimé 08 juin 2021 à 17:13:20

Il existe des outils spécialisés pour ça si tu veux. Ils te feront le travail plus rapidement, au prix d'un apprentissage du logiciel.

Eichler
Eichler
Niveau 6
08 juin 2021 à 17:20:48

[17:13:20] <SithisMinion>
Il existe des outils spécialisés pour ça si tu veux. Ils te feront le travail plus rapidement, au prix d'un apprentissage du logiciel.

Quels sont leurs noms ?

Eichler
Eichler
Niveau 6
08 juin 2021 à 18:35:51

[17:44:11] <Jency21>

Le 08 juin 2021 à 17:20:48 Eichler a écrit :

[17:13:20] <SithisMinion>
Il existe des outils spécialisés pour ça si tu veux. Ils te feront le travail plus rapidement, au prix d'un apprentissage du logiciel.

Quels sont leurs noms ?

C++

Un peu peur de ce colosse

Pseudo supprimé
Pseudo supprimé 08 juin 2021 à 19:37:15

Quels sont leurs noms ?

Tu as scicos par exemple.

_kilian_
_kilian_
Niveau 12
09 juin 2021 à 10:46:15

Le 08 juin 2021 à 18:35:51 :

[17:44:11] <Jency21>

Le 08 juin 2021 à 17:20:48 Eichler a écrit :

[17:13:20] <SithisMinion>
Il existe des outils spécialisés pour ça si tu veux. Ils te feront le travail plus rapidement, au prix d'un apprentissage du logiciel.

Quels sont leurs noms ?

C++

Un peu peur de ce colosse

Il fait peur mais une fois dompté plus rien ne te fera peur, et là tu sera capable d'aller vers n'importe quel langage plus rapidement. Et ça c'est un gain de taille, car tu ne sera plus jamais handicapé par ton langage vu que tu pourra le choisir adapté à ton problème à chaque fois.

D'ailleurs si tu aime faire du calcul lourd et que tu a un GPU NVidia, tu pourra essayer le CUDA, ça te permet de faire du calcul parallèle, et c'est hyper puissant. Je me souviens d'un projet fait en python (fractale de Julia avec de l'antialiasing), le calcul prenait 8h, en c++/CUDA c'était passé à 2min30.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment