la mémoire vidéo allège t-elle à la mémoire centrale ? (Jeux)

la mémoire vidéo allège t-elle à la mémoire centrale ? (Jeux) - Carte mère - Hardware

Marsh Posté le 25-06-2006 à 20:32:40    

La question est dans le titre :)
 
Comment un jeu dispose t-il de la RAM centrale, et si on augmente la RAM de la carte vidéo est-ce que cela profite à la RAM centrale car le jeu stockerait plus de textures dans la mémoire vidéo ?
 
 :ange:  :ange:

Reply

Marsh Posté le 25-06-2006 à 20:32:40   

Reply

Marsh Posté le 25-06-2006 à 20:48:36    

:non:  :non:  :non:


---------------
Devise de la poste : Coliéco = ColiPerdu !
Reply

Marsh Posté le 25-06-2006 à 20:58:24    

rien à voir :spamafote:
 
La RAM "centrale" ne stocke pas de "textures", elle travaille dans son coin avec le C(central)PU, jamais avec le G(graphic)PU.

Reply

Marsh Posté le 25-06-2006 à 21:08:36    

si tu remplaces une CG à mémoire partagée (turbo cache chez nvidia) par une CG qui a sa propre mémoire, oui, c'est le jour et la nuit.

Reply

Marsh Posté le 25-06-2006 à 21:12:37    

Ca peut influer en bien comme en mal.
 
Si tu considère un doom3 en ultra, si t'as que 256Mo de mémoire vidéo t'en aura pour ainsi dire autant dans la mémoire centrale, mais dans d'autres jeux il semblerait que l'effet soit totalement inverse (principalement dans des MMORPG où on a des chances de alt-tab entre 2 sessions, la ram centrale récupère alors les données de la ram video pour la session en arrière plan)

Reply

Marsh Posté le 25-06-2006 à 21:55:38    


 
alors qu'est ce que met un jeu dans la ram centrale ? genre battlefield 2 qui y stock 800Mo... si c'est pas des textures ? (p'tet pas 800Mo de son quand même  [:shinji_kun64])
 

Gigathlon a écrit :


Si tu considère un doom3 en ultra, si t'as que 256Mo de mémoire vidéo t'en aura pour ainsi dire autant dans la mémoire centrale


 
donc la mémoire vidéo a son double en mémoire centrale ? le jeu place toutes les textures et données utilisées par le niveau en cours dans la ram centrale, puis une copie est envoyée à la carte graphique pour l'affichage ?

Message cité 1 fois
Message édité par Calamarpowaaah le 25-06-2006 à 22:01:11
Reply

Marsh Posté le 25-06-2006 à 23:53:18    

Dans le cas cité, oui et non, en fait elle est purgée vers la mémoire centrale à chaque mise en arrière plan de la session de jeu, ce qui occupe bêtement de la place. Si par malheur le code du jeu est limite et purge jusqu'au dernier octet de la mémoire graphique quand bien même seulement 1/4 serait utilisé, ça bouffe une place monstre et on finit par swap même avec 2Go.

Reply

Marsh Posté le 26-06-2006 à 00:04:36    

bon ok mais mettons l'histoire de alt-tab de coté :D
 
prenons plutot doom 3 comme exemple ;)
 
quand je lance un niveau tout est mis en ram puis après c'est copié en ram vidéo, ou déplacé vers la ram vidéo ?

Reply

Marsh Posté le 26-06-2006 à 11:31:19    

Ni l'un ni l'autre, c'est mis en ram puis en mémoire vidéo seulement quand tu "zone" (changement de décor -> nouvelles textures -> chargement depuis le hdd).

Reply

Marsh Posté le 26-06-2006 à 13:04:15    


 
C'est faux.
 
La mémoire vidéo est utilisée en priorité. Mais quand y en a plus, faut bien stocker quelque part.... la mémoire centrale du système, la RAM est alors utilisée par le GPU. C'est évidement sacrément plus lent.
 
Vous connaissez tous l'option du bios "AGP Aperture size". Ben c'est ca. Cette option représente le maximum que la CG pourra allouer comme mémoire pour elle.
 
Vérifiez vos dires avant de poster des âneries !
 
Maintenant, si la question concerne "faut'il upgrader une carte 256Mo avec une carte 512Mo..." non.


Message édité par Tetedeiench le 26-06-2006 à 13:05:00

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 26-06-2006 à 13:04:15   

Reply

Marsh Posté le 26-06-2006 à 13:06:04    

Gigathlon a écrit :

Ni l'un ni l'autre, c'est mis en ram puis en mémoire vidéo seulement quand tu "zone" (changement de décor -> nouvelles textures -> chargement depuis le hdd).


 
Il me semble que les chargements peuvent se faire directement en mémoire vidéo, depuis le HDD. A valider cependant.


Message édité par Tetedeiench le 26-06-2006 à 13:06:15

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 26-06-2006 à 13:09:00    

C'est possible mais c'est généralement pas présent à la fois en RAM centrale et graphique.
 
Après pour les 512Mo, clairement à moins de vouloir à tout prix jouer à doom3 en mode ultra c'est pas la peine, et ça demanderait dans tous les cas une carte style 7900gtx/x1900xt :o

Message cité 1 fois
Message édité par Gigathlon le 26-06-2006 à 13:10:28
Reply

Marsh Posté le 26-06-2006 à 13:15:24    

Gigathlon a écrit :

C'est possible mais c'est généralement pas présent à la fois en RAM centrale et graphique.
 
Après pour les 512Mo, clairement à moins de vouloir à tout prix jouer à doom3 en mode ultra c'est pas la peine, et ça demanderait dans tous les cas une carte style 7900gtx/x1900xt :o


 
T'as pas tort, j'ai pas essayé Doom3 en Ultra...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 26-06-2006 à 13:19:24    

Calamarpowaaah a écrit :

alors qu'est ce que met un jeu dans la ram centrale ? genre battlefield 2 qui y stock 800Mo... si c'est pas des textures ? (p'tet pas 800Mo de son quand même


 
Moi je me demande aussi ce dont BF2 a besoin
 
Personne ne sait????

Reply

Marsh Posté le 26-06-2006 à 13:19:39    

Doom3 un des rares jeux à utiliser ~500Mo de textures, vu la quantité je dirais qu'il y a un problème d'optimisation car c'est quand même déjà compressé...
 
BF2 je sais pas, mais je pencherais pour un moteur réseau boulimique.


Message édité par Gigathlon le 26-06-2006 à 13:20:17
Reply

Marsh Posté le 26-06-2006 à 16:56:05    

pour tester j'ai joué au niveau HELL de Doom 3 et checké le task manager...
 
apparament les textures ne doivent pas être chargées en ram, mais que sur la CG car au début du niveau le jeu utilise 120 Mo de mémoire... mais en revanche à la fin du niveau (au téléporteur avant le boss gardien) j'étais à 220 Mo de mémoire ! Leak ou bien ?

Reply

Marsh Posté le 26-06-2006 à 17:07:07    

D'ailleur y'a pas un ptit logiciel simple genre comme FRAPS qui peut affichier la ram graphique utiliser ? sans ralentir quoique ce soit...  :heink:


---------------
Devise de la poste : Coliéco = ColiPerdu !
Reply

Marsh Posté le 26-06-2006 à 18:45:21    

Y'a un prog, video memory watcher, mais j'ai toujours pas réussi à le faire marcher correctement sur mon paiçai :o


Message édité par Gigathlon le 26-06-2006 à 18:46:02
Reply

Marsh Posté le 26-06-2006 à 19:09:18    

ati tray tool.
 
>> "Il me semble que les chargements peuvent se faire directement en mémoire vidéo, depuis le HDD. A valider cependant."
 
bien sur, c'est meme le cas par defaut.
D3DXCreateTextureFromFile


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 19:22:28    

Donc si les textures ne chargent pas la ram, qu'est ce qui demande autant de mémoire ? :??: pourquoi on est sur le point de passer à 2Go !?!

Reply

Marsh Posté le 26-06-2006 à 19:38:55    

Calamarpowaaah a écrit :

pour tester j'ai joué au niveau HELL de Doom 3 et checké le task manager...
 
apparament les textures ne doivent pas être chargées en ram, mais que sur la CG car au début du niveau le jeu utilise 120 Mo de mémoire... mais en revanche à la fin du niveau (au téléporteur avant le boss gardien) j'étais à 220 Mo de mémoire ! Leak ou bien ?


 
a mon avis y a un leak dans doom 3 (ou un bug), ou du moins dans l'extension car j'étais obligé parfois d'arreter le jeu et de le relancer entre deux niveaux sinon parfois ça crashait quand  j'enchainais trop de niveaux de suite sans relancer le jeu.

Reply

Marsh Posté le 26-06-2006 à 19:43:57    

Calamarpowaaah a écrit :

Donc si les textures ne chargent pas la ram, qu'est ce qui demande autant de mémoire ? :??: pourquoi on est sur le point de passer à 2Go !?!


 
personne à dit que les textures étaient pas chargées en ram.
 
Si toutes les textures d'un niveau tiennent pas en memoire video, bah elles sont gardées en ram.
et sinon y a surement un systeme de cache qui garde les textures les plus utilisées en memoire video.

Reply

Marsh Posté le 26-06-2006 à 19:52:38    

on retombe donc sur ma question originale : si on a une carte avec énormément de mémoire vidéo qui peut contenir énormement de textures (telle les carte 512 mo actuelles), est-ce que cela allège la mémoire centrale dans ce cas et limite ainsi le passage à 2Go pour les jeux ?


Message édité par Calamarpowaaah le 26-06-2006 à 19:53:13
Reply

Marsh Posté le 26-06-2006 à 20:33:01    

mais non, d'après ton propre test, la mémoire vidéo utilisée même dans le jeu le plus gourmand, voire mal optimisé qu'est doom3, ne dépasse pas 220 Mo dans un cas extreme.
 
la réalité de la programmation de nos jours est que les jeux deviennent un entassement de bibliothèques, de gestion de mémoire, de moteur de tout et de rien (réseau, physique, vidéo, 3D, menus....) ce qui prend énormément de place en mémoire, cause des redondances (plusieurs levels of detail de géométrie par exemple en redondance avec la géométrie des vertex buffer de la carte vidéo)
les textures ne seront jamais stockée en mémoire, à part dans un jeu avec système de flux de niveau (jamais aucun chargement).
 
la seule raison pour laquelle une texture pourrait aller en mémoire centrale, c'est de la retouche post-process, ce qui n'a plus lieu de nos jours grâce aux pixels shaders 2 et 3.
 
la deuxieme raison qui en est une fausse c'est le dépassement de la limite physique de la mémoire sur la carte graphique (fonctionnalité agp aperture comme mentionné plus haut) mais ceci n'est pas compté parmis l'espace virtuel d'adressage, donc ce n'est pas vraiment "en mémoire".
de plus, les performances chutent horriblement quand ce cas se produit.
 
rappellez vous que la mémoire on-device d'une carte vidéo peut atteindre 50 Go/s or un PCIexpress fois 16 ne fait que 4 Go/s, le fill rate devient par conséquent minable lors de lecture à partir de la RAM centrale.
pire que ca, les pilotes effectuent l'équivalent du swaping entre RAM et disque, mais entre VRAM et RAM causant ce qui est communément appelé, du trashing :'(
(échanges à chaque image)


Message édité par Lightness1024 le 26-06-2006 à 20:35:41

---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 20:50:27    

La memoire de la cg sert a stocker les informations qui vont etre traitées par le GPU ou qui sont très souvent utilisées. Les autres informations telles que des textures sont stockées en RAM centrale si le GPU n'en a pas besoin pour faire ses calculs.  
 
 
Exemple: Si on prend un jeu qui comporte plusieurs niveaux qui utilisent des textures différentes, celui ci va charger toutes les textures en RAM centrale mais ne charger sur la cg que les textures nécessaires au calcul graphique.  
 
La RAM centrale peut aussi servir a stocker les infos destinées au calcul physique destiné au processeur

Reply

Marsh Posté le 26-06-2006 à 21:05:52    

arf, pas mal de contradictions mais j'arrive à me faire une idée, je pense plus comme Psykozome, je suis d'accord avec ce que tu dis Lightness1024 mais ca n'explique pas certains jeux qui bourrent 1 go de ram (donc forcement plus que des données de calculs et bibliotheques associées) ce qui peut s'expliquer avec ce que dit Psykozome... maintenant c'est dommage que si la ram vidéo n'est pas utilisée à 100% (je pense que ça doit etre souvent le cas avec 512Mo) elle ne serve pas à décharger la ram centrale avec des données chargées et prévues pour la CG mais dont elle n'a pas besoin immédiatement... ça déchargerait un peu la ram centrale qui ne serait que limitée à la fonction que tu décris... enfin tout ceci est de la supposition, apparament un sujet un peu confus de toute façon :D

Reply

Marsh Posté le 26-06-2006 à 21:17:35    

je suis développeur de jeu et je sais exactement ce que je fais de ma RAM centrale autant que vidéo.
 
dans une superproduction comme les jeux EA-games ca devient plus flou parce que 100 personnes travaillent dessus donc beaucoup de choses se retrouvent à beaucoup d'endroits.
sachez que sur playstation 2, on ne dispose que de 32 Mo de mémoire centrale, et 4 Mo de mémoire graphique, dont 3 Mo sont déja pris d'office par le frontbuffer, backbuffer et Z-buffer. ce qui ne laisse que... 1 Mo pour les textures.
 
voici un exemple caractéristique simple des capacités de la console:
http://www.gamekult.com/images/ME0000685394/
 
alors, par rapport a battlefield2, occuper 30 fois plus d'espace permet il une qualité de jeu 30 fois meilleure ?
 
la réelle raison ca serait plutot la paresse aprce que "sur PC on peut se permettre de pas ranger" en gros voila.
 
et je le répète, ca n'a pas d'interet de garder les textures en mémoire centrale, je ne voit personne qui le fait dans mon métier.


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 22:03:25    

Comment ça, ça n'a pas d'interet ?
Si la ram de la carte video est insuffisante pour stocker tout un niveau, c'est quand même moins couteux de charger depuis la ram que depuis le disque dur.
 
La playstation 2 est quand même completement à la rue par rapport à un PC actuel :D

Message cité 1 fois
Message édité par pactole@ le 26-06-2006 à 22:05:35
Reply

Marsh Posté le 26-06-2006 à 22:13:26    

pire que largement, c'est une console d'un autre monde, et elle l'était déjà a sa sortie imho. (en 1999 la voodoo3 avait 16 Mo)
 
"Si la ram de la carte video est insuffisante pour stocker tout un niveau, c'est quand même moins couteux de charger depuis la ram que depuis le disque dur."
 
c'est vrai mais c'est faux.
en fait, ce qui est vrai c'est que c'est toutjours moins couteux de lire la RAM que le disque.
mais c'est extremement couteux de lire la RAM pour uploader les textures aussi à l'échelle d'une frame temps réel.
en gros, ce que tu avances est vrai dans le cas du streaming de levels ce qui n'existe pas encore dans l'industrie à part chez http://www.dkproject.fr/
:)


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 22:40:52    

Lightness1024 a écrit :

pire que largement, c'est une console d'un autre monde, et elle l'était déjà a sa sortie imho. (en 1999 la voodoo3 avait 16 Mo)
 
"Si la ram de la carte video est insuffisante pour stocker tout un niveau, c'est quand même moins couteux de charger depuis la ram que depuis le disque dur."
 
c'est vrai mais c'est faux.
en fait, ce qui est vrai c'est que c'est toutjours moins couteux de lire la RAM que le disque.
mais c'est extremement couteux de lire la RAM pour uploader les textures aussi à l'échelle d'une frame temps réel.
en gros, ce que tu avances est vrai dans le cas du streaming de levels ce qui n'existe pas encore dans l'industrie à part chez http://www.dkproject.fr/
:)


 
à l'echelle d'un frame oui, mais si t'arrives dans une zone différente de la carte ou une autre piece on peut considérer que ça n'arrivera qu'une fois avant un certain temps.
Genre dans doom 3 c'est flagrant, dès que t'ouvre une porte si t'as peu de ram ça rame à fond. (en plus du fait qu'il doit je présume charger la topographie de la piece qui doit être assez négligeable je pense).

Reply

Marsh Posté le 26-06-2006 à 22:43:58    

je connais pas le jeu (trouvé nul dès le lancement lol) mais ca sent le dynamic occlusion culling plus que des chargements.
enfin j'ai rien a dire sans avoir vu et profilé, je ne réfute donc pas cette thèse.


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 22:47:41    

c'est quoi le dynamic machin ?
Je connais que le back face culling :D

Reply

Marsh Posté le 26-06-2006 à 22:49:22    

en gros c'est un machin a base de lancé de rayon, qui détermine si des objets mouvants dans la scene sont cachés par d'autres parties de géométrie.
 
edit: bien sur ce qui permet de les afficher ou non lol. enfin c un truc qui fait ramer a cause justement des chargements déchargements. en fait ca revient tout a fait a ce que tu disais

Message cité 1 fois
Message édité par Lightness1024 le 26-06-2006 à 22:50:16

---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 22:53:49    

j'avais fait un peu de ça en maitrise, lancé de rayon, algo du peintre et tout ça.
J'ai un peu tout oublié, mais je suis pas mécontent d'avoir pris ce module :D

Reply

Marsh Posté le 26-06-2006 à 22:59:01    

:D
si jamais ca t'interresse de jeter un coup d'oeil, j'ai écrit un article "comment apprendre a faire son raytracer"
http://www.games-creators.org/wiki/Raytracer
^^
 
bref, pour revenir un peu au sujet, agrandir la taille de la mémoire vidéo ne soulage pas la RAM, depuis tout a l'heure on se bat en fait pour expliquer que c'est plutot l'inverse même alors lol ....


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 26-06-2006 à 23:13:39    

pactole@ a écrit :

Comment ça, ça n'a pas d'interet ?
Si la ram de la carte video est insuffisante pour stocker tout un niveau, c'est quand même moins couteux de charger depuis la ram que depuis le disque dur.
 
La playstation 2 est quand même completement à la rue par rapport à un PC actuel :D


 
 
clair.....  :lol:  :lol:

Reply

Marsh Posté le 26-06-2006 à 23:57:49    

merci bcp pour le débat j'y vois enfin plus clair :)

Reply

Marsh Posté le 27-06-2006 à 01:01:34    

Lightness1024 a écrit :

en gros c'est un machin a base de lancé de rayon, qui détermine si des objets mouvants dans la scene sont cachés par d'autres parties de géométrie.
 
edit: bien sur ce qui permet de les afficher ou non lol. enfin c un truc qui fait ramer a cause justement des chargements déchargements. en fait ca revient tout a fait a ce que tu disais


 
A ma connaissance ça n'a strictement rien à voir avec un truc qui fait ramer d'un coup le pc...
 
Le "dynamic occlusion culling" est ce qui était à la base de l'archi PowerVR, qu'ATI puis NVidia ont repris partiellement histoire d'accélérer le rendu (hop, devant ça y'a quelque chose, zou on le calcule même pas).

Reply

Marsh Posté le 27-06-2006 à 19:58:36    

ya un papier interressant sur les differentes implementations:
 
http://www.tml.tkk.fi/Opinnot/Tik- [...] rniemi.pdf
(il me semble d'ailleurs que des pilotes hackés de 3dfx devaient employer une partie de ca dans ce qu'ils ont appellés le HSR (hidden surfaces removal))
mais c'est vrai que j'emploiyai le terme plutot par abus de langage, en désignant un systeme de partitionnement d'espace de toute facon.
genre kd tree.


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed