CPU VS GPU – Encontrando o Gargalo — Pt 2


Neste post irei discutir um pouco sobre algumas maneiras que temos para perceber se um jogo esta limitado pela CPU ou pela GPU . Irei também falar brevemente sobre como remover gargalos no caso da aplicacão esta limitada pela GPU. (Link para parte 1)

Inicialmente recomendo que o pessoal tenha lido o primeiro tutorial da série.

Em jogos, normalmente encontramos os seguintes tipos de gargalos  :

  1. CPU bound (o processador é o fator limitante no seu jogo)
  2. GPU bound (a placa de vídeo é o fator limitante no seu jogo)
  3. Equilíbrio (CPU e GPU estão sob a mesma carga,praticamente impossível de alcançar em uma execução completa de um jogo)

Nao existe uma maneira simples de detectar se estamos CPU e GPU bounded.

O blog do Shawn Hargreaves contem uma serie de passos que podemos seguir para tentar descobrir em qual caso acima estamos. Irei me basear um pouco no post dele neste artigo, porem sem focar exclusivamente no XNA.

O primeiro e básico passo nesta procura é:

  • Desabilitar qualquer espécie de sistema que controle o frame rate da aplicação. Alguns jogos/engines usam um sistema interno de clock que forcam o FPS a um determinado numero fixo.
  • Desabilitar o V-Sync (vertical synchronization)

Em seguida começamos os testes:

O primeiro é feito para detectar se voce esta CPU Bounding usando um profiler de CPU.

A idéia é ver se o tempo gasto em seu aplicativo percentualmente esta mais concentrado nos métodos que realizam tarefas exclusivamente de CPU (como a maioria dos sistemas de inteligência artificial por exemplo). Se voce encontrar numeros alarmantes nos métodos CPU, voce provavelmente estara CPU BOUNDED. Se voce perceber que uma grande parcela do tempo esta sendo gasta em metodos que realizam operacoes graficas, voce nao poderá concluir que sua aplicacão está GPU BOUNDED (lembre do ultimo post, a tarefa de desenhar uma primitiva é um conjunto de operacões executadas tanto pela CPU quanto pela GPU).

Caso o seu aplicativo esteja gastando muito tempo na funcao chamada Present do DirectX (responsavel por traduzir as chamadas gráficas para o driver de vídeo executa-las (o opengl deve ter uma semelhante), conforme discutido no post anterior), isto pode significar que voce esta GPU Bound (o Present pode estar esperando a GPU terminar de desenhar o frame anterior e por isto estar demorando mais que o normal), porém em alguns casos pode significar que a CPU esta gastando muito tempo para converter as chamadas gráficas em instrucoes para a GPU. Para descobrir em qual caso voce está, a melhor maneira é (infelizmente) alterar o codigo que roda exclusivamente na CPU e verificar o que acontece com o frame rate. Tomar cuidado para não alterar algo que tenha a ver com desenho de primitivas (desenhar depende da GPU e CPU, se voce fizer isto,  nao podera concluir nada com a resposta obtida, deve-se alterar apenas trechos que dependam exclusivamente da CPU ou da GPU)

Um exemplo de alteração possivel é desabilitar uma parte do calculo da IA, se o frame rate nao mudar, voce esta GPU BOUND, se ele mudar sensivelmente voce esta CPU BOUND.

Uma vez que descobrimos que estamos GPU bound, precisamo saber em que estagio da pipeline da GPU esta o nosso gargalo. É interessante utilizar um profiler de GPU como o PerfHud neste caso. Devemos olhar para os graficos que mostram a carga de operacão nas unidades Vertex e Pixel shader (DirectX 9c), além de verificar acesso a texturas e memória utilizada. Esta tarefa é bastante: “experiência, conhecimento da técnica usada e tentativa e erro”, não existe uma receita pronta.

Situação comuns de GPU Bound (e solucões possíveis )são:

  • Ter um Pixel Shader muito complexo. (Não há solucão simples, tente simplificar o algoritmo, usar texturas com valores pré-calculados, prefira se possível passar os cálculas para o Vertex Shader e utilizar os valores interpolados pelo rasterizador)
  • Ter um Vertex Shader muito complexo. (Não há solucão simples, tente simplificar o algoritmo, usar texturas com valores pré-calculados)
  • Efetuar muitas leituras de texturas no Pixel Shader (Não há solucão simples, tente simplificar o algoritmo, usar filtros mais simples como Point ou Linear)
  • Desenhar muitas primitivas diferentes usando shaders diferentes (Efetue na CPU uma ordenação dos objetos a serem desenhados a fim de minimizar a troca de estados da GPU)
  • Desenhar muitas primitivas (considere o uso de instancing para o caso de objetos iguais, tente usar estruturas cache friendly ao armazenar os vértices, considere o uso de estruturas de particão espacial (como uma Octree) para ajudar fazendo Culling na CPU)

A seguir listei os parametros que mais afetam cada um dos estágios da pipeline da GPU, :

Input Assembler

  • Número de vértices enviados
  • Tamanho de cada vértices (quantidade de dados enviado por vértices)
  • O quão ordenado estão os vértices (coerência de cache).

Vertex shader

  • Número de vértices enviados
  • Complexidade do código rodado nesta unidade
  • Quanto ordenados estão os vértices do triângulos para coerência de cache.

Rasterizer

  • Número de pixel renderizado (Resolução da tela)
  • Número de valores a serem interpolados passados do Vertex para o Pixel Shader

Pixel shader

  • Número de pixels renderizados
  • Complexidade do Pixel Shader (funções utilizadas, tamanho, fluxo de dados, complexidade dos algoritmos utilizados)

Texture fetch (leitura de texels)

  • Número de Pixels renderizados
  • Quantidade de leituras de textura por pixel
  • Quantidade de dados de textura lidos da memória
  • Texturas com Mipmap normalmente tem maior coerência de cache
  • Compressão de textura utilizada
  • Tipo de filtros aplicados
  • Anisotrópico é o mais caro
  • Trilinear é a segunda mais lenta
  • Bilinear e Point são as que possuem os menores custos

Depth/stencil testes

  • Número de pixels renderizados
  • Uso de MultiSampling (Antialiasing)
  • Configuração do Depth/Stencil (modo read/write vs. read-only )

FrameBuffer

  • Número de pixel renderizado
  • Uso de MultiSampling
  • Tamanho de cada pixel em termo de bytes (including MRT)
  • Modo read/write (alpha blending) vs. write-only (opaco)

As informacoes acimas foram retiradas de blogs especializados, livros e da minha experiência no assunto.

Uma última dica importante que ouvimos todos os dias, mas ninguém segue. Otimizacão  é feita depois que as coisas já estão funcionando. Otimizacão deve ser feita de maneira inteligente, não adianta absolutamente nada criar o método de busca mais rápido do universo se ele é usado uma única vez pelo seu jogo ( e ainda durante o loading =P). Encontre os gargalos antes !!!!

Até a próxima pessoal =P

 

, , , , ,

  1. #1 by Home Improvement on 30 de abril de 2017 - 1:13 pm

    I like what you guys are up also. Such intelligent work and reporting! Carry on the superb works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my site :).

  2. #2 by http://news.arpelsreplica.xyz/arpelsreplicaxyz/190.asp on 30 de abril de 2017 - 1:16 pm

    I’ve purchased this brand of bracelet a few circumstances. Every single a person is ultra sweet, created well, does not tarnish and/or significant depending on that definitely one you purchase then which a person give that at.

  3. #3 by http://news.hermesreplica.xyz/hermesreplicaxyz/206.asp on 30 de abril de 2017 - 1:17 pm

    We have purchased that brand concerning bracelet a few occasions. Every one is extremely sweet, established very well, cannot tarnish plus meaningful depending on which any you purchase to that you offer that it on.

  4. #4 by http://news.louboutinreplica.xyz/louboutinreplicaxyz/218.asp on 30 de abril de 2017 - 1:17 pm

    This product is with such a great amount I not attention the particular top quality would be hence excellent. It’s beautiful. This mom might love that it on top of Xmas early morning once she starts present therefore looks like I devoted even more, but cost is simply ideal!!

  5. #5 by http://news.hermesreplica.pw/hermesreplicapw/156.asp on 30 de abril de 2017 - 1:17 pm

    Our supplement is at that ideal rate I not believed their grade is hence excellent. It is perfect. This one mother will adore that on Holiday morning where she opens up present therefore appears like I invested alot more, however cost ended up being simply very good!!

  6. #6 by togel online on 30 de abril de 2017 - 2:16 pm

    Hi there. I found your site by way of Google whilst looking for a comparable topic, your website got here up. It seems great. I have bookmarked it in my google bookmarks to visit then.

  7. #7 by discount lv handbags outlet on 30 de abril de 2017 - 2:25 pm

    I am continually searching online for articles that can help me. Thx!
    discount lv handbags outlet http://www.bagsfashion.online

  8. #8 by Tabung Pemadam api on 30 de abril de 2017 - 2:57 pm

    I conceive you have remarked some very interesting details , thankyou for the post.

  9. #9 by Alat pemadam kebakaran on 30 de abril de 2017 - 3:06 pm

    As soon as I found this website I went on reddit to share some of the love with them.

  10. #10 by Maria Luiza on 30 de abril de 2017 - 3:11 pm

    Conciência de que trabalhar pel internet
    exige tanta dedicação e também seriedade quanto nenhum gênero de outro negócio no nosso planeta
    físico é de fundamental importância a fim de que quer se profissionalizar
    nessa extensão.

  11. #11 by review ibosport on 30 de abril de 2017 - 3:21 pm

    You are so cool! I do not suppose I’ve read anything like this before. So good to find someone with a few original thoughts on this issue. Seriously.. thanks for starting this up. This web site is one thing that is needed on the internet, someone with some originality!

  12. #12 by sbobet on 30 de abril de 2017 - 3:27 pm

    Hiya, I am really glad I have found this information. Nowadays bloggers publish only about gossip and internet stuff and this is really annoying. A good web site with exciting content, this is what I need. Thanks for making this website, and I’ll be visiting again. Do you do newsletters by email?

  13. #13 by Pedro Vicente on 30 de abril de 2017 - 3:31 pm

    Evidente que, ao apostar no Marketing de Afiliados como manadeira de
    renda, você não é possível que trespassar vendendo qualquer coisa.

  14. #14 by free google play gift card codes on 30 de abril de 2017 - 3:34 pm

    Hello there. I discovered your site via Google while looking for a related subject, your site got here up. It appears good. I have bookmarked it in my google bookmarks to come back then.

  15. #15 by bandarQ on 30 de abril de 2017 - 3:49 pm

    Hey there. I found your website by way of Google even as searching for a similar subject, your site came up. It appears to be good. I’ve bookmarked it in my google bookmarks to visit then.

  16. #16 by Tabung Pemadam kebakaran on 30 de abril de 2017 - 4:18 pm

    You made some nice points there. I did a search on the issue and found most folks will agree with your blog.

  17. #17 by viagra for sale on 30 de abril de 2017 - 4:24 pm

    . A visit to the MOMA would tell otherwise except that our responses would not be the same as it would be say in Chartres. I am thinking now of Jean Claude and Christo’s spectacular orange Gates Project in Central Park as well as the recent Dale Chihuly glass exhibit at the MFA here in Boston. It takes time for some of the current work to be sorted out which is why we use curators and hope they are good at it. It takes maybe 50 years to know what will last, what in fact has lasted.

  18. #18 by cantiksehatgue on 30 de abril de 2017 - 4:39 pm

    Hello there. I found your web site by the use of Google even as looking for a comparable topic, your website got here up. It seems great. I’ve bookmarked it in my google bookmarks to visit then.

  19. #19 by http://www.hildinghr.se/mind_content/files/336.html on 30 de abril de 2017 - 5:19 pm

    It headset had been since beautiful while into the image. It came immediately. I would recommend using a towel above each layer as you press it away w / per vapor iron. It does not steam off through merely a steamer. Their iron is appropriate. It can be sensitive, so if you do not trust your self aided by the towel as well as steam iron, after that bring things up to a professional. Awesome noise.

  20. #20 by http://enskedesquashclub.se/media/html/299.html on 30 de abril de 2017 - 5:19 pm

    This headset had been since spectacular as into the image. Information technology arrived quickly. I would advise getting a towel done each and every level while you press information technology out w / one steam iron. It does not steam out with only a steamer. On iron is required. It is very fine, when you cannot trust yourself using the towel and steam iron, next consume this up to a certified. Pretty noise.

  21. #21 by viagra online on 30 de abril de 2017 - 5:54 pm

    That’s a crackerjack answer to an interesting question

  22. #22 by generic viagra on 30 de abril de 2017 - 6:31 pm

    Nothing I could say would give you undue credit for this story.

  23. #23 by sex on 30 de abril de 2017 - 7:02 pm

    very handful of internet sites that take place to be in depth beneath, from our point of view are undoubtedly effectively worth checking out

  24. #24 by viagra online on 30 de abril de 2017 - 7:11 pm

    Going to put this article to good use now.

  25. #25 by http://news.cartierreplica.top/cartierreplicatop/318.asp on 30 de abril de 2017 - 7:11 pm

    The supplement had been in such a very good cost I did not considered the actual high quality is quite excellent. It is striking. Our mother can adore that it on top of Holiday day once she opens present and it seems like I devoted a great deal more, then again rates ended up being just great!!

  26. #26 by http://news.cartierbraceletsreplica.top/cartierbraceletsreplicatop/319.asp on 30 de abril de 2017 - 7:11 pm

    This one product had been in that awesome price tag I never consideration their premium is so excellent. It’s gorgeous. It mama will certainly appreciate that it in Christmas time early morning whenever she opens gifts and it styles like I invested a lot more, but prices was only great!!

  27. #27 by http://news.louboutinreplica.xyz/louboutinreplicaxyz/210.asp on 30 de abril de 2017 - 7:12 pm

    That supplement ended up being in such a awesome price I do not consideration the actual good would be and so excellent. It is awesome. This particular mama might enjoy things in Christmas morning where she opens up gift therefore looks like I invested far more, still pricing had been really very good!!

  28. #28 by http://news.cartierlovebraceletreplica.xyz/cartierlovebraceletreplicaxyz/218.asp on 30 de abril de 2017 - 7:12 pm

    Your device ended up being in that great amount I by no means attention their good is hence exceptional. Its gorgeous. It mother will really like this upon Christmas early morning whenever she opens up gift therefore styles like I invested alot more, then again prices ended up being exclusively awesome!!

  29. #29 by thomas the tank engine on 30 de abril de 2017 - 7:14 pm

    At this time I am ready to do my breakfast, afterward having
    my breakfast coming yet again to rad more news.

  30. #30 by cheap viagra on 30 de abril de 2017 - 7:15 pm

    I’m so glad I found my solution online.

  31. #31 by generic viagra on 30 de abril de 2017 - 7:46 pm

    An amazing distribute, I just known this onto some colleague who had been doing rather psychotherapy for this. In addition to he in reality bought me breakfast as I originate it pertaining to him.. grin. As a result i want to modify that: Thnx for the treat! Nevertheless agreed Thnkx with regard to spending time to natter about this, I familiarity starkly vis-?-vis it and enjoy conception added proceeding this topic. Proviso feasible, as you feel expertise, would anyone mind updating your blog with added details? It can be substantially height on behalf of me. Elder browse cheery immediately for this blog post!

  32. #32 by kitchen design ideas on 30 de abril de 2017 - 7:52 pm

    It¡¦s actually a great and helpful piece of info. I am satisfied that you simply shared this useful info with us. Please stay us up to date like this. Thanks for sharing.

  33. #33 by where to buy viagra on 30 de abril de 2017 - 8:59 pm

    I love reading these articles because they’re short but informative.

  34. #34 by www.krogerfeedback.com on 30 de abril de 2017 - 9:06 pm

    Hi to all, how is the whole thing, I think every one is getting more
    from this web page, and your views are good in favor of new visitors.

  35. #35 by coreaez on 30 de abril de 2017 - 10:01 pm

    またDVDコピー、DVD変換、HD動画変換、DVD作成等に対応したソフト開発、サービスも提供しております。 わたしは、 о科学は標榜しなかった -が、 о合理的な人間 -であり、 о最短問題(ものごとの効率) -を最良としてきた。 [url=http://guitar.oil.com.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=23525&forum=1]office 2013 通販[/url]
    そして、彼が3歳の時に川崎病を発病し、土曜日曜日を家族と過ごさなければ親を失格する。 普段はベンチが置かれた歩道のすぐ脇に泥が注がれたプールがある! 大きさは大人6~8人が一度に入れるくらいだ。
    [url=http://www.goshuya.com/home/modules/d3forum/index.php?post_id=14407]ms office 2016 personal[/url] Windows 10不具合:1.Windows10がリリースされた後1年間, Windows 7, Windows 8.1, and Windows Phone 8.1ユーザーは無料Windows10にアップグレードできるが、その次はどうなるか。 IT認定試験の出題範囲に対して、Pass4Testは豊富な経験を持っています。
    [url=http://pinoybitkong.com/viewtopic.php?f=6&t=955747&sid=595091f668c923f207053e5b7cf6492b]microsoft excel 価格[/url]
    400mgが塩分1gなので、180mgは、0.45gの塩分となる。 ここらへんは、どちらがいいとか悪いということではなく、もう個人の好みの部分ですなぁーいまなら、所沢には、バターもしょうゆもどちらもございまつ。 [url=http://forums.warpig.com/phpbb/viewtopic.php?p=12933#12933]office2018 &503;ロダクト キー[/url]
    そんな事はないと思っているとしても、教えても相手が出来ないと「なんでできないの? 簡単なのに 」と 無意識にできない相手を蔑んでしまいます。 当初は、ちょっとしたマウスパッドの誤操作で、画面が縮小・拡大してしまう以外はトラブルはありませんでした。
    [url=http://forum.sogedis.fr/windows10123981245012483125031246412524125401248912399-t18103.0.html]office 2016 価格[/url] 手首が緩まない様に注意すれば、それ程難しくは無い筈で、自由に狙った距離に落とす事が出来る。  パソコンの仕様は チップセット インテル945P CPU INTEL PENTIUM XE 950 3.4MHZ メモリー DDR2-SDRAM 3GB グラフィックカード ATI RADEON H4600 シリーズ この古い環境でもサクサクと快適に動いています。
    [url=http://pinoybitkong.com/viewtopic.php?f=6&t=955747&sid=595091f668c923f207053e5b7cf6492b]wi[/url]

  36. #36 by generic viagra on 30 de abril de 2017 - 10:16 pm

    rachelgibby16 on August 18, 2012 Ok thanks iam practicing and sometimes i can draw. my dad is great at art and sketching anything but he obviously didn’t give me that gene lol but thanks for your advice and again i love your drawings!!:)

  37. #37 by corecze on 30 de abril de 2017 - 11:06 pm

    国際卓球連盟創設者、会長(1926-67)、2代スウェイスリング男爵ルイス・モンタギューの息子、ヒッチコック映画のプロデューサー。 しょっちゅうまっとうに動かなくなるので、何が原因か探っていました。 [url=http://win10keysale.com/windows-10-education-64.html]windows 10 の ダウンロード[/url]
    私自身を含めてワープロ、表計算などWord、Excelを学んだ身からすれば、それがないと不安だという。 全ての悪意のあるセッションを、各業種の企業数で割って平均で並べると、1位は高等教育分野、2位は医療分野、3位はハイテク分野となりました。
    [url=http://win10keysale.com/office-home-and-business-2016.html]office2016 ソフト[/url] …そして午後2時過ぎからいよいよ高野公男没後60年祭演奏会「高野公男・船村徹~友情無限~」公演昼の部がスタート!この日は昼・夜合せて2500名近くのお客様がご来場下さって、それぞれ2時間を超える公演をたっぷりとお楽しみ頂くことが出来ました。 さらに、私は次の3人の起業家と毎月連絡を取り合って、お互いに助言しあいます。
    [url=http://win10keysale.com/norton-necurity-standard-2016.html]ノートン インストール[/url]
    こんな感じで、ぴっちりタイプのアンダーシャツを着用してる人が増えてます。 もしあなたも試験に合格したいのなら、Pass4Testをミスしないでください。 [url=http://win10keysale.com/microsoft-office-visio-professional-2013.html]office 2013 価格[/url]
    像他們一樣的親日派存在只琉球沖繩全部的僅僅5%。 http://news.blogmura.com/ ←にほんブログ村 政治ブログにクリックお願いします。
    [url=http://win10keysale.com/office2010-01.html]office2010 personal 価格[/url] ————————————————————————————。    OfficeでMicrosoftアカウント(OneDriveでの共有)を使用したくない場合に、有効な機能です。
    [url=http://win10keysale.com/office-project-professional-2016.html]office2016 personal 価格[/url]

1 565 566 567
(não será publicado)