2010-06-21 2 views
8

J'ai donc beaucoup lu sur OpenGL et GPU et les graphiques en général, et le triple buffering est mentionné semi-fréquemment comme donnant un boost de performance gratuit. Je sais pourquoi ça aide; en effet, vous pouvez faire v-sync sans être limité à un choix de fréquence de 60 ou 30 ou 20 ou 15 ou etc, de sorte que vous pouvez réellement atteindre, par exemple, 55fps. Mais y a-t-il réellement un coût à cela? Intuitivement, je m'attendrais à ce que la triple mise en mémoire tampon retarde la sortie d'une image, ajoutant un très faible décalage à tout.Le triple buffering est-il réellement un boost de performance gratuit?

Répondre

6

À 55 FPS, une trame est un peu moins de 20 ms. Ce n'est donc pas gratuit, mais ça en vaut presque toujours le coût.

À 15 FPS, cependant, il peut être assez perceptible. (BTW, il s'agit d'un ordinateur portable POS La plupart des jeux 3D tournent à peu près aussi vite pour moi.Certains encore plus lent.)

Certaines personnes remarquent le décalage, en particulier à des fréquences d'images plus basses, et parfois le triple buffering ne fonctionne pas tout à fait comme attendu. (En OpenGL, en particulier, quelque chose qui n'est pas bien supporté par le matériel peut revenir à une émulation logicielle (potentiellement très lente), ce qui ne devrait pas être un problème de nos jours, mais eh.) Donc la plupart des programmes qui utilisent le triple buffering inclure une option pour le désactiver. Vous voudrez peut-être envisager de faire la même chose.

5

Une citation de l'excellent livre "Real-Time Rendering" (http://www.realtimerendering.com/) par Akenine-Möller et autres, page 835, qui résume assez bien ce que vous avez déjà suggéré dans la réponse à votre propre question, compte tenu du lag:

« Triple buffering a un avantage majeur sur le double buffering. en utilisant , le système peut accéder à la mémoire tampon en attente en attendant le retour de balayage vertical . Avec le double tampon, un échange peut bloquer le pipeline graphique. [... ] L'inconvénient de la triple mise en mémoire tampon est que la latence augmente jusqu'à une trame complète Cette augmentation retarde la réaction aux entrées de l'utilisateur, telles que les frappes et la souris ou le joystick se déplace. "