Bonjour à tous,
Je viens de lire l’article sur le Raspberry pi 5 que j’ai trouvé très intéressant et je vais directement poser plusieurs questions qui me permettront d’avoir l’avis de spécialiste(s) (que je ne suis pas sur ce sujet):
où en est-on de l’openGL ? Je sais que pour l’instant on est arrêté à la 3.1 et la 3.3 semble difficile à atteindre pour des raisons que je ne maîtrise pas et que vous pourriez me donner.
pourquoi il n’existe pas des versions avec 16GB ou 32GB. Celle que j’ai est Pi 5 Model B Rev 1.0 de 8GB. Je sais qu’ils on favorisé le contraire (1GB et 2GB), est-ce dans la philosophie d’un modèle économique, parce que là moi je cherche plutôt de la performance :
Je demande ça car je suis développeur Godot 4.3 et Unreal Engine 5.5. Godot demande de l’openGL 3.3 et Unreal Engine 16GB minimum, voir plus. Pour Godot 4.3 il y a une échappatoire qui permet de faire tout de même des jeux qui tournent, mais pour Unreal engine là il ne faut même pas y penser !
Je n’ai vu nul par d’annonce(s) d’une version 6 du Raspberry, est-ce que les spécialistes de ce forum ont plus d’informations à partager (ne pas hésiter à me renvoyer sur des post de ce forum que je n’ai pas exploré encore). Quand je parle d’une version 6, ce qui m’intéresse aussi c’est la mémoire qu’il pourrait y avoir avec.
Je risque de me faire houspiller par les habitués de ces forums ou les modérateurs car je suis nouveau et je n’ai pas pris le temps de tout lire. Mais on peut considérer ce post comme une sorte de point sur le raspberry actuel et les versions à venir.
Le RPi n’a pas d’accélération GPU comme un PC ou les téléphones, il partage avec le CPU, ce qui limite les intégrations pour tenter de garder un prix bas.
Parce que ça la un coût et aucune réel utilité avec un RPi, Linux ne gère pas la mémoire comme sous un PC, et les applications qui ont besoin autant de mémoire ne roule pas habituellement sur un RPi. J’ai un serveur dédié avec 8GB Ram, qui héberge serveur Web complet + Minecraft + 2x Shoutcast avec transcodeur et j’utilise moins de 2GB.
Par exemple le RPi 3 devait avoir une carte 1Gbps, mais la puce le permettant coûtait trop chère, et ont gardé le 100Mbps, même si plusieurs l’ont critiqué.
Wow Wow les moteurs. Le RPi 5 vien a peine de sortir, en plus que le RPi en générale vient de sortir de la crise des manques de certains composant. Il travail surement sur la prochaine version, mais il n’y aura surement pas d’annonce d’ici 1-2 ans certain.
Citation : Parce que ça la un coût et aucune réel utilité avec un RPi, Linux ne gère pas la mémoire comme sous un PC, et les applications qui ont besoin autant de mémoire ne roule pas habituellement sur un RPi
Tu expliques que Linux ne gère pas la mémoire comme sous un PC, mais :
Unreal Engine indique explicitement qu’il leur faut 16Go de mémoire sur un linux (après je reconnais qu’ils n’ont pas dit explicitement un raspberry, d’où ma confusion certainement), Info : Je n’ai pas le droit de mettre plus de deux liens, mais on peut trouver sur le site officiel d’Epic Games leur prérequis : documentation/en-us/unreal-engine/linux-development-requirements-for-unreal-engine (32GB).
Pourquoi OrangePi Pro propose des versions jusqu’à 16 GB ?
Pourquoi Radxa 5B en propose jusqu’à 32GB ?
J’ai ces deux versions chez moi, ils sont plus chers, mais avec des processeurs plus performants, des sorties HDMI, et bien d’autres choses; la RAM doit servir certainement pour toutes ces options en plus …
Suite à ce que tu m’as dit sur ta configuration Minecraft, je vais regarder de plus près comment gérer ça sur le raspberry pi 5B que j’ai. Si j’ai posé cette question sur la mémoire, c’est parce que j’ai fait un menu en python, qui pour chaque option affiche une petite vidéo (format short) et je trouve que la fluidité n’est pas au rendez-vous. Je vais voir si je ne peux pas optimiser ça.
J’ai conscience qu’en discutant avec toi, j’apporte moi-même des pistes de réponses. Mais je n’ai pas suffisamment de recul, je le reconnais, pour dire que ce sont de bonnes réponses.
Unreal Engine est pour le gaming, surtout PC, et require plus à cause de Windows, justement. Sous Linux, la gestion mémoire est tout autre, tout comme la gestion des processus et du temps CPU.
Les RPi ne sont pas conçu pour le Gaming, oui il y a du retro-gaming, mais justement, c’est du Retro et n’a pas été conçu pour ça. Si tu compte utiliser Unreal Engine, tu va aussi frapper un mur, car un RPi est ARM et non x86, alors les libs sont totalement différent. Le but premier d’un RPi est la domotique et les petit projet, loin du gaming.
Les chinois fou n’importe quoi et dans des mesure beaucoup plus grosse pour tenter de manger la part de marché du RPi. Leur composant sont de moins bonne qualité souvent et leur coût différent à bien des niveau. RPi se doit d’avoir une chaine d’approvisionnement « propre » (sans esclavage d’enfant, sécurité au travail, etc…) ce qui fait aussi une différence dans le prix. Après, c’est la demande des utilisateurs, et la capacité des projets. Ajouter plus de mémoire exige aussi un BUS plus large, des composants pouvant gérer cette mémoire, etc… les chinois eu vont te mettre du 32GB sans ce soucier du BUS et ta mémoire peut bloquer ou être lente. C’est très technique…
Il faut donner de la ressource à la vidéo, mais inutile d’en donner plus que 256Mo, le système ne traite pas cette mémoire comme le GPU de gaming. Par exemple Windows en générale n’a besoin que de 64Mo pour gérer le bureau, 128~256Mo pour la vidéo. Inutile d’en avoir plus, après, c’est pour le gaming le surplus et les vidéo haute résolution. Mais une vidéo qui n’est pas fluide, ce n’est pas la mémoire, c’est le CPU, qui sert de décodeur, et c’est lui qui n’arrive pas à faire son boulot. Il faut utiliser des codec simple à décoder, et idéalement pas trop compressé, dans des résolutions raisonnable. C,est sur que si ta vidéo est du 4K à 4000Kbps tu va avoir des problèmes, un PC normal peut déjà avoir de la difficulté à lire (sans gros GPU).
Un RPi n’est pas un PC, c’est avant tout une plateforme d’apprentissage et de petit projet pour la domotique, initiation à la programmation etc… sont but n’a jamais été d’être performant.
La RAM sous Linux est géré de manière différente, pour éviter les détails très technique, il analyse la RAM et son usage, réserve une partie pour des usages aux applications actives. La Vidéo en utilise une partie, mais ce n’est pas le même type de partage que les vidéo OnBoard des modèles sur PC. Le CPU fait le gros du travail du GPU, alors il doit partager la puissance entre les application et les demandes graphique. Ceci encombre le CPU et dégrade rapidement les performance. L’usage du HDMI n’utilise pratique rien dans la RAM, tout étant gérer par le CPU, la capacité vidéo est plus une mémoire dédié réservé pour que le buffer graphique puisse l’utiliser sans brimer la RAM restante du système, mais AUCUN accélération matériel n’existe pour des tâches GPU. Tout ce qui touche la vidéo est de qualité passage à médiocre avec un RPi, si ce n’est pas optimisé pour ce dernier.
OpenGL avance toujours mais devient de plus en plus remplacé par le Vulkan, qui marche Linux et Windows, … sous PC (x86). C’est plus avantageux car les GPU récent l’utilise de plus en plus. Mais l’OpenGL c’est du OpenSource, concurrent du DirectX et remplacé dans les prochaines années par le standard Vulkan.
Sous RPi, étant en ARM, toutes les libs doivent être compilé pour ce support, les libs disponible sont souvent optimisé pour le RPi (quand tu utilise Raspbian) et certaines fonction sont volontairement retiré des applications car inutilisé ou inutilisable sous RPi.
Si ton objectif est d’avoir Unreal Engine et lire des vidéo, oublie les RPi, lance toi dans les Barebone, Mini PC et autres de ce style, tu aura plus de flexibilité, de performances et de simplicité.
Regarde du côté de LattePanda, https://www.lattepanda.com/ qui est dans les mêmes prix de base et offrant une qualité supérieur aux produit purement chinois.
Merci pour toutes ces réponses, en fait là un peu dans l’urgence de mon projet je vais utiliser le raspberpy, oublier orangePI et Radxa pour me consacrer à LattePanda que je ne connaissais pas du tout avant que tu en parles. Je pense que je vais me faire un joli cadeau de Noël !
Vulkan je connais, mais je ne suis pas arrivé à le configurer pour l’instant sur mon raspberry, surtout par manque de temps je l’avoue. Mais je suis confiant, je devrais y arriver.
Là j’ai déjà fait des jeux en retro-gaming (en Godot 4.2/4.3) et je comptais aussi en faire avec Unreal engine. Je sens que je vais m’éclater avec le LattePanda.
Merci pour tout cet échange qui m’a été fort instructif et va m’aider dans les mois à venir … où c’est sûr je ne vais pas m’ennuyer !