Bonjour à tous !
Voilà maintenant quelques mois que j'ai fait l'acquisition d'un Macbook Pro mid-2015 (actuellement sous High Sierra) et aucun problème n'est encore survenu... jusqu'à aujourd'hui !
Je suis des études orientées informatique et dans le cadre d'un cours je dois implémenter de simples jeux en python (version 3.6.3) en utilisant le module pygame (version 1.9.3).
Seulement voilà, alors que le jeu que j'implémente actuellement semble trivial (bien que très mal optimisé pour le moment), un petit tour du coté de l'utilisation de mon CPU lors de l'exécution de celui-ci m'indique qu'il utilise 110% de ce dernier... Mais fait encore plus étonnant, un ami ayant un macbook air plus ancien fait tourner ce même jeu et avec les mêmes versions python/pygame de manière beaucoup plus fluide (car lorsque je lance ce fameux jeu faut-il préciser qu'il s'en retrouve saccadé sur ma machine) et en utilisant seulement 30 à 50% de son CPU...
Je me suis pas mal documenté et j'ai essayé de le réinstaller de différentes façons... Rien n'y fait... Je pense activement au maraboutisme pour m'aider...
Merci d'avance !
PS : à toutes fins utiles voici le code actuel de mon jeu, où playercar.png est une image de 292KB.
Voilà maintenant quelques mois que j'ai fait l'acquisition d'un Macbook Pro mid-2015 (actuellement sous High Sierra) et aucun problème n'est encore survenu... jusqu'à aujourd'hui !
Je suis des études orientées informatique et dans le cadre d'un cours je dois implémenter de simples jeux en python (version 3.6.3) en utilisant le module pygame (version 1.9.3).
Seulement voilà, alors que le jeu que j'implémente actuellement semble trivial (bien que très mal optimisé pour le moment), un petit tour du coté de l'utilisation de mon CPU lors de l'exécution de celui-ci m'indique qu'il utilise 110% de ce dernier... Mais fait encore plus étonnant, un ami ayant un macbook air plus ancien fait tourner ce même jeu et avec les mêmes versions python/pygame de manière beaucoup plus fluide (car lorsque je lance ce fameux jeu faut-il préciser qu'il s'en retrouve saccadé sur ma machine) et en utilisant seulement 30 à 50% de son CPU...
Je me suis pas mal documenté et j'ai essayé de le réinstaller de différentes façons... Rien n'y fait... Je pense activement au maraboutisme pour m'aider...
Merci d'avance !
PS : à toutes fins utiles voici le code actuel de mon jeu, où playercar.png est une image de 292KB.
Bloc de code:
import pygame
import random
import time
# --- constantes
GRIS = (127, 127, 127)
BLANC = (255, 255, 255)
FENETRE_LARGEUR = 600
FENETRE_HAUTEUR = 800
VOITURE_LARGEUR = 80
VOITURE_HAUTEUR = 162
POINTILLE_HAUTEUR = 100
POINTILLE_LARGEUR = 10
BAU_HAUTEUR = FENETRE_HAUTEUR
BAU_LARGEUR = 2*POINTILLE_LARGEUR
ESPACE = 50
VERS_DROITE = 1
VERS_GAUCHE = -1
voiture_position = [FENETRE_LARGEUR/2 - VOITURE_LARGEUR/2 , FENETRE_HAUTEUR * (3/4)]
VOITURE_DEPLACEMENT = 7
decalage = 0
# --- positions pointillés
pp1 = [FENETRE_LARGEUR // 4 - POINTILLE_LARGEUR // 2, ESPACE]
pp2 = [(2 * FENETRE_LARGEUR) // 4 - POINTILLE_LARGEUR // 2, ESPACE]
pp3 = [(3 * FENETRE_LARGEUR) // 4 - BAU_LARGEUR // 2, ESPACE]
# pp4 = [(4 * FENETRE_LARGEUR) // 5 - POINTILLE_LARGEUR // 2, ESPACE]
# --- dessiner + déplacer les pointillés
def Dessiner_pointilles(vitesse):
global decalage
for i in range(-1, 6):
pygame.draw.rect(fenetre, BLANC, ((pp1[0], pp1[1] + decalage + i*(ESPACE + POINTILLE_HAUTEUR)),
(POINTILLE_LARGEUR, POINTILLE_HAUTEUR)))
for j in range(-1, 6):
pygame.draw.rect(fenetre, BLANC, ((pp2[0], pp2[1] + decalage + j*(ESPACE + POINTILLE_HAUTEUR)),
(POINTILLE_LARGEUR, POINTILLE_HAUTEUR)))
for k in range(-1, 6):
pygame.draw.rect(fenetre, BLANC, ((pp3[0], pp3[1] + decalage + k * BAU_HAUTEUR),
(BAU_LARGEUR, BAU_HAUTEUR)))
#
# for l in range(-1, 6):
# pygame.draw.rect(fenetre, BLANC, ((pp4[0], pp4[1] + decalage + l*(ESPACE + POINTILLE_HAUTEUR)),
# (POINTILLE_LARGEUR, POINTILLE_HAUTEUR)))
#
decalage += vitesse
if decalage >= 100:
decalage = -50
# --- Déplacer notre voiture
def deplacer_voiture(sens):
voiture_position[0] += VOITURE_DEPLACEMENT * sens
# --- initialisation pygame
pygame.display.init()
pygame.key.set_repeat(1, 1)
# --- dessiner la fenêtre + titre
fenetre_taille = (FENETRE_LARGEUR, FENETRE_HAUTEUR)
fenetre = pygame.display.set_mode(fenetre_taille)
pygame.display.set_caption('CARS')
# --- afficher l'image
image = pygame.image.load('images/playercar.png').convert_alpha(fenetre)
image = pygame.transform.scale(image, (VOITURE_LARGEUR, VOITURE_HAUTEUR))
fini = False
temps = pygame.time.Clock()
while not fini:
vitesse = 6
fenetre.fill(GRIS)
#Entrées Joueur
for evenement in pygame.event.get():
if evenement.type == pygame.QUIT:
fini = True
elif evenement.type == pygame.KEYDOWN:
if evenement.key == pygame.K_LEFT:
deplacer_voiture(VERS_GAUCHE)
elif evenement.key == pygame.K_RIGHT:
deplacer_voiture(VERS_DROITE)
if voiture_position[0] <= 0 :
voiture_position[0] = 0
elif voiture_position[0] + VOITURE_LARGEUR >= FENETRE_LARGEUR :
voiture_position[0] = FENETRE_LARGEUR - VOITURE_LARGEUR
if voiture_position[0] >= pp3[0] :
vitesse = 4
Dessiner_pointilles(vitesse)
fenetre.blit(image, voiture_position)
pygame.display.flip()
temps.tick(60)
pygame.display.quit()
pygame.quit()
exit()