Spécifications des cartes graphiques et signification [OpenGL] - C++ - Programmation
Marsh Posté le 22-06-2012 à 17:14:51
Avant de chercher à répondre à la question que tu poses, déjà, es-tu certain que ton programme utilise l'accélération matérielle? Si ça s'exécute sur le CPU c'est normal que ça rame...
Marsh Posté le 24-06-2012 à 00:53:39
Ne peut on pas utiliser un profiler pour voir si c'est bien l'affichage le problème et pas les calculs?
Je serai pas contre voir le code histoire de voir à quoi ça ressemble par curiosité
Marsh Posté le 24-06-2012 à 05:28:52
En fait mes questions n'étaient pas par rapport à ce projet précisément, mais plus générale. Je regarderai avec un profiler à l'occasion.
Pour le code, 2 articles qui m'ont bien aidé, et globalement mon code est proche :
pour les calculs : http://http.developer.nvidia.com/G [...] _ch38.html
et le rendu : http://graphicsrunner.blogspot.fr/ [...] g-101.html
Marsh Posté le 22-06-2012 à 15:51:12
(Topic à la base posté catégorie Hardware > Carte Graphique, mais on m'a redirigé par ici^^)
Hello,
J'ai commencé à toucher à openGL il y à quelques mois en cours, avec un projet assez balèse (en tout cas quand on débute et qu'on à jamais touché a openGL / directX avant) : de la simulation de fluides avec les équations de Navier-Stokes.
Et forcément pour un premier projet avec openGL, j'avais quelques "petits" problèmes d'optimisations. Du coup je vais my remettre cet été en essayant d'optimiser ça. Le problème est de savoir ou se trouve le goulot d'étranglement. (A priori c'est "toujours" la bande passante qui limite avec cet algo, mais j'aimerai bien comprendre toutes les specs des cartes graphiques pour vraiment voir si mon code bloque de ce coté la ou pas^^)
du coup :
unités de calculs * freqGPU = débit de MAD SP, la DP m'intéresse pas.
unités de texturing * freqGPU = débit de filtrage = le nombre de texels qu'on peut récup dans des textures par secondes ?
Pas de différence entre les texture 2D et 3D ? (filtrage bilinéaire max, après ça coûte plus cher)
ROP * freqGPU = fillRate = le nombre de pixels qu'on peut "dessiner" par seconde ?
Donc le nombre d'instance de fragment shader qu'on peut exécuter par seconde ?
débit de triangles = le nombre de triangles qu'on peut envoyer au gpu par seconde ?
Ou le nombre que le gpu est capable de sortir avec la tesselation au max ?
bande passante = débit en lecture ou en écriture sur la vRam ? (par ecriture, je parle dans le cas de render to texture, où le port pci-e ne bride pas)