(1) 2 »


information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
05/11 00:54:02
Post(s): 15
Bonjour, Sous Blender 2.79 ou 2.80, sous Cuda ou EEVE (pour 2.80) où peut on s'il vous plait trouver la taille occupée en mémoire par un projet, et est il possible de savoir si le projet est chargé en mémoire graphique dans sur celle de la carte mère.

Dans le cas ou un projet serait trop volumineux pour la mémoire de la carte graphique si tant est qu'il puisse être chargé dedans, le reste est il chargé en mémoire carte mère, ou la totalité va t elle directement en mémoire de la carte mère ?

Cherchant à me doter d'une carte graphique pour un projet assez conséquent en nombre de faces, vos réponses devraient m'aider à m'orienter sur le choix suivant la mémoire qu'elles embarquent. En vous remerciant

Contribution le : 27/11 02:30:53
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
05/11 00:54:02
Post(s): 15
En fin de deuxième ligne de ce qui précède, bien vouloir lire 'ou sur celle de la carte mère'

Contribution le : 27/11 03:38:51
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
OverdOzed
Inscrit:
23/02/2006 19:10
De Sideula
Post(s): 2048
Hello,
Une réponse un peu longue pour t'aiguiller dans tes choix. Pour plus de clarté, j'ai découpé ça en trois parties. La partie technique n'est pas forcément nécessaire, mais j'ai essayé d'être le plus clair possible sans trop parler technique.

1. FONCTIONNEMENT DE BLENDER
Dans cette documentation (anglais), l'utilisation de la mémoire est expliquée pour Cycles.
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Cycles#GPU_rendering

Si jamais l'anglais pose souci :
"Le rendu CUDA supporte maintenant le rendu de scènes qui ne rentrent pas en mémoire GPU, mais qui peuvent être stockées dans la mémoire CPU. Ce mécanisme est automatique mais a par contre un coût en terme de performances qui dépend de la scène et du matériel. Quand une texture image ne rentre pas dans la mémoire GPU, nous avons mesuré des ralentissements de l'ordre de 20 à 30% lors de nos essais. Quand d'autres données de la scène ne peuvent pas non plus entrer en mémoire GPU, le rendu peut être encore plus lent, à tel point qu'il peut être préférable de faire directement le rendu sur CPU."

Pour le moment, EEVEE ne peut rendre que sur GPU. Ils ne prévoient pas de rendre sur CPU à cause des performances désastreuses que ça aurait, donc aucun intérêt. Par contre, le CPU reste important pour préparer la scène avant de la transférer au GPU, et ce à chaque frame rendue. Je ne sais pas si EEVEE a aussi ce mécanisme de transfert entre CPU et GPU.
https://docs.blender.org/manual/en/latest/render/eevee/limitations.html

2. PARTIE TECHNIQUE SUR L'USAGE DE LA MEMOIRE EN 3D
En 3D, ce qui consomme le plus, ce sont les textures. Plus elles sont grandes, plus elles prennent de place en mémoire (qu'importe que ce soit un BMP, un PNG ou un JPEG). Il faut savoir que si tu as un PNG de 1024x1024 qui pèse, disons 500ko sur ton disque car il y a de la compression, en mémoire GPU comme CPU il fera 3Mo ou 4Mo (ça dépend s'il y a un canal alpha pour la transparence). Et c'est quadratique puisqu'une image de 2048x2048 fera 9-16Mo en mémoire (avec/sans canal alpha).

Une façon d'évaluer la taille en mémoire (CPU/GPU) de tes textures est de les convertir en BMP. Si elles n'ont pas de transparence, ça te donnera la valeur exacte (à quelques octets près). Si ce sont des images avec transparence, il faut penser que ça prendra 1/3 de place en plus (donc ajouter 33%). En effet, le BMP stocke des valeurs RGB. Il faut ajouter la taille du canal alpha pour du RGBA.

Un vertex à côté, il occupe quelques dizaines d'octets seulement. Pour Blender, je n'ai pas trouvé l'information exacte. Mais on va dire qu'on a les infos de position 3D, le dépliage UV, le vecteur normal, etc. Et encore, je pense que pour le rendu, ces données ne sont pas toutes utilisées car il y a une étape de précalcul avant chaque frame. Donc les données peuvent être fusionnées. Par exemple, si un mesh est animé, j'imagine que la phase de précalcul va donner directement la position du vertex pour la keyframe en cours en fonction de tous les bone weights. Bref, la position du vertex est "définitive" quand elle est envoyée au GPU, qui n'a donc plus rien à faire que faire le rendu lui-même.
https://en.wikipedia.org/wiki/Vertex_(computer_graphics)

Prenons une grosse marge avec un vertex qui prend 96ko (parce que je n'ai pas l'information pour Blender). Un triangle occupe alors 3x96ko = 288ko. Si on a 10 millions de triangles (soit 30 millions de vertices), ça fait près de 3Go de mémoire. Dans les faits, c'est moins. J'ai testé avec 12 millions de triangles et j'ai eu un pic à 2.5Go, uniquement avec des meshes sans texture (il y a une barre qui indique la consommation de mémoire pendant le rendu, dans la fenêtre de rendu).
Donc même avec 30 millions, ça ne devrait pas être excessif en terme de consommation (là encore, en comparaison de textures bien grandes).

Il y a également d'autres sources de consommation de données, plus anecdotiques car bien moins nombreuses et moins coûteuses. On peut citer les données des matériaux.

3. QUANTITE DE MEMOIRE
Me concernant, j'ai 4Go de mémoire GPU. Jusqu'à présent, que ce soit Blender ou des jeux vidéo, je n'ai pas été limité par mon matériel, en particulier pour la mémoire. Même avec des jeux vidéo très beaux et avec les paramètres à fond. Je ne joue pas avec des textures ultra HD car je sais que là, ça ne passerait peut-être pas (en fait, je n'ai pas essayé).
Je viens de voir avec 32 millions de vertices. J'ai quelques ralentissements en terme de fluidité dans le viewport mais ça vient plus du calcul et donc des performances du GPU que de la mémoire (si c'était la mémoire, ça aurait freezé). Sinon pour le rendu sans textures, ça m'a pris moins de 2 secondes avec EEVEE.

Donc, je dirais que tu peux partir sur au moins 6Go de mémoire GPU. Ça tombe bien, maintenant c'est la "norme" pour des GPU moyen de gamme (type GTX1060, RTX2060). Une RTX2070 Super, une carte haut de gamme mais accessible financièrement, embarque déjà 8Go de mémoire. C'est juste énorme et ça devrait te donner un excellent confort. Comme je te le disais, avec "seulement" 4Go je me sens déjà à l'aise et j'ai peu d'inquiétudes pour mes projets (moins gourmands que le tiens, certes). Si tu veux plus de 11Go (ce que propose une RTX2080 Ti), tu passes sur des cartes pro qui ont jusqu'à 48Go de mémoire. Par contre, va voir ton banquier avant !

Contribution le : 27/11 10:41:02
_________________
Développement en cours du hARMful Engine
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
05/11 00:54:02
Post(s): 15
Bonjour Bibi09. Merci pour ton investissement dans cette réponse plus que complète. Je pensais partir effectivement sur 6 ou 8 Go. Ca devrait passer pour ce dont j'ai besoin. Encore merci.

Contribution le : 27/11 14:56:41
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
27/11 19:24:57
Post(s): 5
Je me permets de rebondir sur le sujet très instructif.
Je modélise sur mon iMac de 2011. Pour faire des petits films, c'est un peu long pour le rendu sous Cycles.
J'utilise alors le PC Windows de mon fils, i5 et GPU nVidia 1050Ti.
Je passe de trois minutes par image à moins de 30s, ce qui est déjà bien.

Mais j'envisage de me monter un PC (Linux a priori) pour plus de confort et rapidité.
Je suis un peu perdu. J'ai vu qu'il existe des GPU "Pro" un peu spécialisées pour le rendu 3D mais je vois qu'il y a moins de coeurs CUDA par ex. que la plupart des cartes "gamers".
Que faut-il privilégier pour la GPU ? Open GL, Cuda ? J'ai un peu de mal à suivre. Les modèles "pro" à prix équivalents (env. 300 euros) semblent moins musclées sur le papier, mais ils disent que c'est utilisé pour le rendu 3D, la PAO, la photo, mais pas adapté au gaming (donc c'est ce qui semble OK pour moi). Mais je ne suis pas sûr de comprendre qu'une carte gaming et une carte pour la 3D ne soient pas tout simplement... Les mêmes.

Si vous pouviez m'aider...

Ce que j'aimerais, ce sont des rendus plus rapides... Juste pour Blender (pas d'autres utilisations "poussées" ni en vidéo ni en traitement d'images, et pas de jeu.

Merci à tous !

Contribution le : 27/11 19:38:55
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
OverdOzed
Inscrit:
23/02/2006 19:10
De Sideula
Post(s): 2048
Bonjour smogBlender,

L'erreur que tu as faite, et c'est normal, c'est de comparer les cartes par rapport à leur prix. Il faut plutôt les comparer par équivalence de modèle.
https://fr.wikipedia.org/wiki/Turing_(architecture_de_carte_graphique)

Dans ce tableau, tu regardes les lignes "Code de la puce". Tu vois que les RTX GeForcd (gaming grand public) ont des puces (processeurs) commun avec les RTX Quadro (cartes pro).

Je prends l'exemple de la GeForce RTX 2080 et de la Quadro RTX 5000 qui partagent la même puce.

Le nombre de coeurs CUDA exploitables* est différent : 2944 contre 3072.
La mémoire aussi : 8Go contre 16Go.
Et d'autres choses encore comme les unités de textures (qui font partie de la mémoire du GPU).

Bref, ce sont des cartes dédiées en effet aux calculs intensifs pour du CUDA par exemple, mais aussi du calcul intensif qui n'a rien à voir avec la 3D (par exemple des simulations, etc).
Leurs performances en 3D sont correctes mais en-dessous de leur équivalent gaming, qui elles sont optimisées pour ça (les drivers contribuent aussi à les booster pour du rendu en temps-réel comme OpenGL).

Le tarif, à modèle équivalent, est aussi très différent. Donc la plupart du temps, tu préféreras prendre le modèle gaming même si tu ne joues pas car tu n'as pas de quoi faire un crédit de 5000€ pour une carte graphique. Les entreprises, elles, n'ont pas trop de souci avec ça et en achètent même, si besoin, plusieurs d'un coup.


*exploitables car elles sont toutes fabriquées de la même manière, avec le même nombre de coeurs. Après leur production, elles sont mises sur un banc avec un test assez intensif qui va "cramer" certains coeurs mal gravés. Ils désactivent un certain nombre pour arriver à celui qui est vendu et propose, selon le nombre restant de coeurs fonctionnels, une RTX 2080, RTX 2080Ti, RTX 5000, etc.

C'est pour ça que certaines personnes arrivent à réactiver des coeurs sur leur CPU aussi. Le fabriquant en désactive pour vendre un Intel i7 avec 4 coeurs, alors qu'il est fabriqué avec 6 coeurs par exemple (comme pour un i9). Mais comme l'un d'eux a cramé, et qu'un i7 a 4 coeurs, ils désactivent le 5ème même s'il fonctionne bien.

Contribution le : 28/11 09:26:30
_________________
Développement en cours du hARMful Engine
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
OverdOzed
Inscrit:
23/02/2006 19:10
De Sideula
Post(s): 2048
Pour compléter ma réponse, la finesse de gravure y est aussi pour quelque chose dans cette histoire de désactivation de coeurs.
Maintenant, on atteint des limites physiques (moins de 12nm). Plus on diminue cette finesse de gravure, plus c'est dur d'y arriver. C'est pour ça qu'il y a pas mal de pertes comme on le voit entre RTX 2080 et RTX 8000.

Les industriels mettent en place des processus de fabrication. Au début, ils ont énormément de pertes. Petit à petit, les pertes sont plus rares. Au moment où ils ont des pertes industriellement viables, ils proposent la finesse de gravure sur leur nouveau modèle.
https://www.developpez.com/actu/200818/Intel-ne-pourra-produire-des-CPU-graves-en-10-nm-en-masse-qu-en-2019-et-annonce-des-resultats-financiers-record-au-premier-trimestre-2018/

Bon nombre de coeurs ne sont pas fonctionnels aux fréquences voulues. Il y a donc plus de cartes qui perdent 40% de leurs coeurs que de cartes en perdant seulement 5%, par exemple.
Or, ce qui est rare est cher. D'où une partie du prix des cartes pro équivalentes à une RTX2080. En plus de la mémoire de 24 ou 48Go qui a elle aussi un coût conséquent.

@papillon: je pense que donner un chiffre, c'est bien. Donner une explication de pourquoi ce chiffre, c'est mieux. 😊

Contribution le : 28/11 12:37:59
_________________
Développement en cours du hARMful Engine
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
05/11 00:54:02
Post(s): 15
Bonjour Bibi09. Je planche sur l'achat d'une 980Ti équipée de 6 Go de mémoire ou une GTX 1080 équipée de 8 Go. D'occasion elle restent intéressantes niveau prix . Les temps de rendu en test paraissent nettement supérieurs à ma GTX 1050 Ti, mais ce que je cherche aussi et surtout, c'est qu'elles évitent que j'ai des saccades lors du travail de ma scène sous Blender 2.79 (Oui je suis resté au final sur cette version, j'ai des soucis avec la 2.80). Avec ma GTX 1050 Ti, je commence à avoir quelques sacades lors du travail sur mes maillages. Qu'en penses tu ? Concernant les RTX, elles sont plus cheres et je ne sais pas si elles sont pleinement compatibles avec la version 2.79 de blender dans l'usage Cycle. Sais tu quelque chose à ce sujet ? En te remerciant

Contribution le : 29/11 06:38:53
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
27/11 19:24:57
Post(s): 5
@Bibi09, merci pour ces précisions et le temps passé à me répondre.
Je vais donc m'orienter vers un modèle "non pro".
Mais, pour aller plus loin, entre une AMD sans Cuda mais OpenGL et une nVidia avec, mais plus cher semble-t-il pour un résultat gaming apparemment comparable, quelle technologie vaut-il mieux privilégier ?
A priori je préfère Ryzen + GPU AMD parce que le prix semble bien moindre pour des performances équivalentes selon certains sites. Mais une zone d'ombre demeure pour moi : CUDA est-il incontournable avec la 2.8 et ultérieures ?
@papillon, je suis avec intérêt tes questions aussi, toutes mes excuses pour "squatter" ton sujet mais je suis en plein dedans je crois !

Contribution le : 29/11 09:32:08
Créer un fichier PDF de la contribution Imprimer


Re: information sur taille prise en memoire par le projet pour choix GPU
Touriste
Inscrit:
05/11 00:54:02
Post(s): 15
Bonjour SmogBlender. Ca ne me dérange pas, bien au contraire, les réponses qui te sont apportées me servent également.

Contribution le : 29/11 09:39:56
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Enlever les reflets des arbres dans le shader glass? 3 83 Hier 20:48:38
flahaut 
Python & Plugins [non résolu] faire apparaitre des éléments spécifiques 0 32 Hier 18:38:26
Redstar 
Questions & Réponses Comment snapper un vertex sur un edge selon un axe donné 7 130 Hier 16:55:39
Bibi09 
Questions & Réponses Pixel Blanc sur rendu blender 2.8 5 69 Hier 15:31:10
fenixdragon 
Moteur de jeu GameBlender et alternatives [non résolu] Modifier un visage - ajouter machoire    [1][2] 12 400 Hier 15:09:54
Redstar 
Questions & Réponses Mirror qui fonctionne mal en mode Edit (mais marche en mode Sculpt) 2 49 Hier 10:16:05
moonboots 
Le coin des geeks information sur taille prise en memoire par le projet pour choix GPU    [1][2] 17 670 05/12 23:26:04
papillon 
Questions & Réponses Blender vs Sketchup et Fusion 360 7 323 05/12 21:50:04
Anarchy62 
Questions & Réponses Importer des objets de Maya dans Blender 1 57 05/12 17:03:51
Melodicpinpon 
Questions & Réponses Importer des objets de Maya dans Blender 0 36 05/12 16:16:24
Melodicpinpon 
Questions & Réponses compter les éléments de l'outliner 3 126 05/12 09:57:09
Bibi09 
Questions & Réponses UV editing, mes translations sont saccadées. 7 356 04/12 16:28:39
Homarus 
Moteur de jeu GameBlender et alternatives Faire un jeu sans coder 7 267 04/12 16:07:18
Azerblue 
Questions & Réponses [résolu] Utilisation carte graphique 5 176 04/12 13:27:34
Bibi09 
Python & Plugins nuage de point 1 128 04/12 01:55:02
WinZs 
Questions & Réponses [résolu] problème lecture piste son 6 162 03/12 11:06:51
flahaut 
Questions & Réponses scale partiel d'un import STL 5 146 02/12 21:28:30
ewok2 
Questions & Réponses Lier visibilité et rendering 1 93 02/12 14:55:41
Rimpotche 
Graphisme alternatif Créer sa propre typo gratuitement: Tuto 1 146 02/12 14:41:38
Redstar 
Questions & Réponses Utilisation des normal map 4 156 02/12 10:18:55
moonboots 

Qui est en ligne
65 utilisateur(s) en ligne (dont 29 sur Forums)

Membre(s): 0
Invité(s): 65


plus...
Nouveaux membres
MohammedWo 7/12/2019
BartArmstr 7/12/2019
RebekahI15 7/12/2019
KiraQjn265 7/12/2019
HiramSoile 7/12/2019
Carolyn76A 7/12/2019
KurtFaunce 7/12/2019
KateCurmi 7/12/2019
OliveCartw 7/12/2019
RenaLeija2 7/12/2019
Dernier Ajout
2019-11-05 01.JPG

Evènements à venir
Dec 29
Anniversaire d'ebrain
Jan 11
BUG de Lyon
Fev 15
Anniversaire de Dany
plus 277 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445