SlideShare a Scribd company logo
3d analyze¸¦ ÀÌ¿ëÇÑ
    ·»´õ¸µ ÆÛ÷¸Õ½º ¿ÉƼ¸¶ÀÌ¡



                                                      ±è¼ºÀÍ(noerror@hitel.net)
                                                      2004.12.05

1
ÃÖÀûÈ-
    • °ÔÀÓ¿¡¼-Ç ÇÁ·¹ÀÓ Çâ»óÀ Á߿伺

    • º´¸ñÁö¡                               (bottleneck) ?
                  - ÎÀû ² ¿È -ÈûÀÖà «· üÀ                           - ¡Áö ñ¸´º ûÀßÁý

                  - ÓÀÔ° ÷Áη               , É´öÁø°ÎÀ   / ¹°¸®Ã³
                  - µ¸õ´»·

    • ÇÁ·ÎÆÄÀϸµ µ±¸
                  - Numega - TrueTime
                  - Intel - Vtune
                  - Nvidia - NVPerfHUD
                  - Microsoft - Pix
2
·»´õ¸µ º´¸ñ ¿ä¼Ò
    • ·»´õ¸µ¿¡ ¿µÇâÀ» ÁÖ´Â ¿ä¼Ò
            - Ó¼¡° ÇÀÍ¿î¾þ åµÏ º¼Ä·´
            - Çϵå¿þ¾îÀ ¿ªÆø´ë ÇÑ°è

    • ·»´õ¸µ º´¸ñ ¿ä¼Ò
                 - Ç ·Á ¹À Ó ¹ öÆ Û ´ ë¿ ªÆ ø
                 - ³Ãº½ØÅ øƪ¿ë´
                 - õ´ÌÀμ
                 - º½ØÅö¹                     , Æú¸®°ïÀÇ ¼ö
                 - Ûź½Ã ®¸ð Þ Û¼üÀ øƪ¿ë´




3
3d Analyze
    • 3D Analyze
             - Çϵå¿þ¾îÀ ´ÉÀ» ¼º ÃøÁ¤Çϱâ ÇÑ À§ ±¸ µ
               (cf. NVperfHUD - î¾þ¿®ÆÁÇÒ¼ »À¡Áöñ¸´º ´£Ã ¸±µ                                            )
             - ÏÀ¶µ ç»ß¹³°                                            Tommti Systems (http://www.tommti-systems.com)
             - ¾Á¢° µ¸õ´»· »ÀǼɿ -¼¡¿ÎºÜ ÒǤÁ³¼ ö¼ ç¸ À Ö ®ÆÌÀ¹·Ó ÁÇ                                             ,
               ï°®¸úÆ ÇÀîµö¼ 鵸º¤Á ÍÅÏ´ ð¸ É´¡°

    • ÀåÁ¡                  / ´ÜÁ¡
             - Direct3D, OpenGL Áö¿øÇÏ¸ç                             , î¾þ¿åµÏÇ ü°«¹
             - ÑÇ°º¯Æ ûÀ¥·×±Î ÁÇ ÌÀÃƼ ½Àø¾ä¿ÊÇ
             - ¼ Á³ ¤À » ½ Ç à Á ß¿ ¡ ¹ Ù² Ü ¼ ö ¾ Àø ½
             - ¼ÒÇÁÆ®¿þ¾î ÀûÈ-¸¦ ÃÖ À§ÇØ µðÀÚ Î È Çø®ÄÉÀ̼¾î ¾Æ´Ô


4
½Çà ¼ø-




              1. ¾îÇ÷¹À̼ Åü±
              2. Ǽɿ Ãű¼
              3. àǽ

5
¿É¼Ç   (1)
    • disable texture
    - ÇÀ³Ãº½ØÅ øƪ¿ë´ ÇÀÑ ¦Á âÇ µ¿ ©Å ¼Ã
    - ÇÀ³Ãº½ØŠⱩŠ                                              , ¾ÐÃà        , ¼ÒÆà ¿ä¼Ò ÀÇ½É           (?)

    • disable rendering
    - µ¸õ´»· ÇÀÜ¿ Ì ¡°Ò¼ä¿ »Àâǵ¿ í° ÖÁ î±Ï´À½ Ö                                                                 ?
    - ®¸ð Þ                                        Lock/Unlock, ÓÀÔ° ÇÀîµ÷Áη Ò¼ä¿ É½ÇÀ

    • disable state switches
    - ®ÆÌÀן½ -ÈûÀÖà ÌÀº¼ä¿ÊÇ î±Ï´À½Ö                                                                     ?



6
¿É¼Ç         (2)
    • counters
    - ¡¿é¸-È £°Ã½ Ç ¸º¤Á ·âÃ
    - ÇÁ·¹ÀÓÌÆ®
            ÇÁ·¹ÀÓ ´ç Æú¸®°ï ¼ö
                  Ã Ê ´ ç Æ ¸ú ®° ï ¼ ö
      À¿ðµñº ®¸ð Þ ®·ë¿ç»
                   over draw after z-test
                   draw pixels per frame after z-test

    • force small texture
    - ÅؽºÃ³ÀÇ ´ë¿ªÆø ¡ ÇâÀ» ¿µ ¹Þ½À´Ï±î                 ?



7
¿É¼Ç       (3)
    • disable lighting
    - ÇÀÃÆÌ ó¶ »Àâǵ¿ î±Ï´À½Þ¹                               ?

    • force windowes mode

    • force wireframe mode
    - ¡¿é¸-È ÑÇä¿Ê Òº ÌÀï°®¸úÆ Â´ÖÀ öÁ η¸À «´ ÎÀ®È

    • force 16 bite zbuffer
    - z¹ÛÆö ÇÀøƪ¿ë´ »Àâǵ¿ î±Ï´À½Þ¹                             ?

    • save shaders to file
8
·Î±× Á¤º¸              (1)
    • perfomance logging
     - csv ηÂÅüÇ ×±Î· ÌÀÏÄÆ ÊµåÀú




    used vram                             »ç¿ëÁßÀÎ ¸ð ® Þ
                                          (®¸ðÞ øƪ¿ë´                                           )
    fps                              ÓÀ¹·ÁÇ ®ÆÌÀ¹·
                                           (¸¸Á·ÇϽʴ±î                                          ?)
    pps                                    Æú¸®°ï ¼ö                                       /ÃÊ
                                                 (Çϵå¿þ¾î ÇÑ°è¿¡ µ´ÞÇß½À챔                                ?)
9
·Î±× Á¤º¸                                                            (2)
     ppf         Æú¸®°ï ¼ö                                /ÇÓÀ¹·Á
                       ( ÇÑ ÇÁ·¹ÀÓ Æú¸®°ï ¼ö°¡ Àû´çÇÕ Ï±î                                                          ?)
     strst             SetRenderStateÈ£Ãâ ¼ö                                        / ÓÀ¹·ÁÇ
     sttxstgst         SetTextureStageState È£Ãâ ¼ö                                                      /ÇÁ·¹ÀÓ
     ppc               DrawPrimitive ´ç Æò±ÕÀû¸·Î Ãâ·ÂµÇ´ ¸®°ïÆú ¼ö
                       (¹èÄ¡° Àû´çÇÕ챔                                     ?)
     sttx              SetTexture È£Ãâ ¼ö                           /ÇÓÀ¹·Á
     stvp              SetViewport È£Ãâ ¼ö                                  /ÇÓÀ¹·Á
     svs         SetVertexShader È£Ãâ ¼ö                                                     / ÓÀ¹·ÁÇ
     sss         SetStreamSource È£Ãâ ¼ö                                                      / ÓÀ¹·ÁÇ




10
Àü·«                (1)
     • ÅؽºÃ³ »ç¿ë Àü·«
        * disable texture Ǽɿ                        , force small texture · Î ´ ë¿ ªÆ øÀ Ç ¿ ǵ â È À® Î
        - àÃо ³Ãº½ØÅ                      (DDS) ë¿ç»
        - ¹Ó¸Ê                       (Mipmap) ë¿ç»
        - ºÀÛ ÇÀⱩŠ³Ãº½ ØÅ ë¿ç»
        - µ¸õ´»· ý ³Ãº½ØŠη°º ÃÆÒ¼                           (ÅؽºÃ³ ij½Ì °üÁ¡                  )

     • ºñµð¿À ¸Þð® Á¢±Ù
              * disable rendering À¸·Î ½±°Ô È®ÀÎ °¡´É
              - lock/unlockÀ» ¼Ò·ÎÃÖ ÁÙÀÌ¸ç                           , ¾Æ¿¹ ¾È ´ÙÇÑ
              - lock À» ÇÒ ¶§¿¡µ             read´ Â Ç ÁÏ ö ¾ ´Ê ´ Ù
              - lock À » Ç Ò ° æ¿ ì         D3DLOCK_NOOVERWRITE ÇÀîµ Î·¸ÀǼɿ ÑÇë´ÖÃ
     º´·Ä¼ À» ¸°´Ù»ì
              - ¼ÎÀÌ´õ¸¦ È°¿ëÇÑ´Ù
11
Àü·«              (2)
     • ÇÁ·¹ÀÓ ¹öÆÛ »ç¿ë Àü·«
            * µ ó»ØÇ ¡¿æ° ¯º ¥¸ûµ                                                 FPSº¯È- Àº²ñ                     , 16ºñÆ®      z¹öÆÛ »ç¿ë ÈÄ ·¹ÀÓÇÁ
     º¯È-
            - î¿ ±¡° ÍÅκ ° µ¸õ´»·
            - z write°¡ ÇÊ¿ä ¾ø´Ù¸é                                                   z write disable
            - ÄÆ˾ ùµ£·íº »Àë¿ ç Ù´ÎÀ Á
            - ÇÀó¾ÖÁñº ¡°ÌÀ÷ é¸Ù´ø¾                                                  16ºñÆ®         z ¦¸ÛÆö¹ Ù´ÑÇë¿ç»
            - clear° ¡ Ç ¿Ê ä ¾ ´ø Ù¸ é                                           clear öÁÏÇ Ù´Âʾ

     • Æú¸®°ï ¼ö                                                       / ÇÁ·¹ÀÓ
            * log »ÀÏÄÆ ©¿ÏÇ®¼Ðº ¢° ÇÀæ°¯È ÑÇýÀû ÇÀö¼ ï°®¸úÆ ö¼ ¤Áá°
            * wireframe ·»´õ¸µÀÎ È¿°úÀûÎ                                                             culling ¹æýÀÌ ¾ø´ÂÁö È®ÀÎ

12
Àü·«    (3)
     • ¹èÄ¡ÃÖÀûÈ-
     - ÑÇÉ´¡°                          DrawPrimitive âÃ£È ¦¸ö¼½È -ÈÒ¼ÖÃ
       ÑÇÏÀ¿µ é¸ó¶ÂÅüÇ ºÀû ³Ãº½ØÅ ö¼åÀ                                                           , Àû º ¿ÀºêÁ§Æ® ¼ö
     - ̽Ïź ÎÀ
     - ºÀû ÇÀö¼ ï°®¸úÆ ºÀ¨µð¸ ®¸ð Þ                                                         lock À» ÀÌ¿ëÇؼ-¶óµ
     DrawPrimitive âÃ£È ¦¸ö¼½È -ÈÒ¼ÖÃ

     • ÃÖÀûÈ-¿¡ ÇÑ°è¡ ÀÖ´Â °æ¿ì
            - ÃÖÀûÈ-°¡ ºÒ°¡´ÉÇÑ ºÐÀ̶ó¸é Î À¯ ¿© ´Â ÀÖ ¿øÀ» Ú ´õ ¿ëÇؼ- È°
     Ç°ÁúÀ» Çâ»ó
                 ³Ãº½ØÅ ¡¿øƪ ë´ ¡°-ÈûÀÖà ɴ¡°Òº ÒÇ ì¿ æ° ¦¸º½ØÅ ö¹ õ´ ë¿ ç»
                       ÅؽºÃ³ÀÇ ´ë¿ªÆøÀÇ °è ¡ ÇÑ ¾Æ´Ï¶ó¸é ½ºÃ³¸¦ ÅØ ´õ ³ËÇÏ°Ô »ç¿ë

13
È°¿ë
     • º¥Ä¡ ¸¶Å·À» ÅëÇؼ- Ÿ ¾îÇø®ÄÉÀ̼ ¼Óº ºÐ¼®
         - ÎÀû ó»Ì ÇÀØÁö¼ ï°®¸úÆ Â´ ö¼                                                                                   ?
         - Àû ýÇÑ ¾À ¸Å´Ï¡ÀÇ ¹ýÀº æ ¹«¾ùÀΰ¡                                                                                ?

     • ÃÖÀûÈ-Ç °´üÀûÎ ÀÚ·á
         - ױη »ÀÏ ÄÆ -¼ØÇë¿ ÌÀ ¡¿ç¾ »
           µû¸¥                           , ±â´É¿¡ ¸¥µû Æ÷¸Õ½ºÀÇÛ
                º¯È-¸¦                                            DB· Î ° ¸ü ® Æ °ò ¡
         - º½Ò¼®¸ ÇÀÛ ¦Á ØÁâ±                                                                       (Æú¸®°ï
                       ¼ö , ÅؽºÃ³ÀÇ ±âÅ©                                               , ö¼åÀ îµ                    )

     • NVPerfHUD
14

More Related Content

What's hot

白金
白金白金
白金iworm
 
211 Ch
211 Ch211 Ch
211 Chanjaan
 
入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報
Chiou WeiHao
 
入門啟示錄Ch04簡報
入門啟示錄Ch04簡報入門啟示錄Ch04簡報
入門啟示錄Ch04簡報
Chiou WeiHao
 
入門啟示錄Ch02簡報
入門啟示錄Ch02簡報入門啟示錄Ch02簡報
入門啟示錄Ch02簡報
Chiou WeiHao
 
Rancangan Tahunan Tahun2 2014 Tamil Version
Rancangan Tahunan Tahun2  2014 Tamil VersionRancangan Tahunan Tahun2  2014 Tamil Version
Rancangan Tahunan Tahun2 2014 Tamil Version
Mahadevan Raaman
 
入門啟示錄Ch05簡報
入門啟示錄Ch05簡報入門啟示錄Ch05簡報
入門啟示錄Ch05簡報
Chiou WeiHao
 
入門啟示錄Ch08簡報
入門啟示錄Ch08簡報入門啟示錄Ch08簡報
入門啟示錄Ch08簡報
Chiou WeiHao
 
Sentinel Hardware Keys
Sentinel Hardware KeysSentinel Hardware Keys
Sentinel Hardware Keys
Jong-hyeok Kim
 
プログラマのためのテスト2
プログラマのためのテスト2プログラマのためのテスト2
プログラマのためのテスト2Kuniaki Igarashi
 
水晶報表的使用
水晶報表的使用水晶報表的使用
水晶報表的使用ShunYeh
 
Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수
JIAQI NIE
 
入門啟示錄Ch06簡報
入門啟示錄Ch06簡報入門啟示錄Ch06簡報
入門啟示錄Ch06簡報
Chiou WeiHao
 
090525-homology search(ensembl, local)
090525-homology search(ensembl, local)090525-homology search(ensembl, local)
090525-homology search(ensembl, local)ocha_kaneko
 
Capstone2 final - Smart Shopping Bot
Capstone2 final - Smart Shopping BotCapstone2 final - Smart Shopping Bot
Capstone2 final - Smart Shopping Bot
Chan-Young Han
 
Windows XP in தமிழ்
Windows XP in தமிழ் Windows XP in தமிழ்
Windows XP in தமிழ்
Vj NiroSh
 

What's hot (17)

白金
白金白金
白金
 
211 Ch
211 Ch211 Ch
211 Ch
 
入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報
 
入門啟示錄Ch04簡報
入門啟示錄Ch04簡報入門啟示錄Ch04簡報
入門啟示錄Ch04簡報
 
入門啟示錄Ch02簡報
入門啟示錄Ch02簡報入門啟示錄Ch02簡報
入門啟示錄Ch02簡報
 
Rancangan Tahunan Tahun2 2014 Tamil Version
Rancangan Tahunan Tahun2  2014 Tamil VersionRancangan Tahunan Tahun2  2014 Tamil Version
Rancangan Tahunan Tahun2 2014 Tamil Version
 
入門啟示錄Ch05簡報
入門啟示錄Ch05簡報入門啟示錄Ch05簡報
入門啟示錄Ch05簡報
 
入門啟示錄Ch08簡報
入門啟示錄Ch08簡報入門啟示錄Ch08簡報
入門啟示錄Ch08簡報
 
Sentinel Hardware Keys
Sentinel Hardware KeysSentinel Hardware Keys
Sentinel Hardware Keys
 
プログラマのためのテスト2
プログラマのためのテスト2プログラマのためのテスト2
プログラマのためのテスト2
 
2009 Crisis
2009 Crisis2009 Crisis
2009 Crisis
 
水晶報表的使用
水晶報表的使用水晶報表的使用
水晶報表的使用
 
Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수
 
入門啟示錄Ch06簡報
入門啟示錄Ch06簡報入門啟示錄Ch06簡報
入門啟示錄Ch06簡報
 
090525-homology search(ensembl, local)
090525-homology search(ensembl, local)090525-homology search(ensembl, local)
090525-homology search(ensembl, local)
 
Capstone2 final - Smart Shopping Bot
Capstone2 final - Smart Shopping BotCapstone2 final - Smart Shopping Bot
Capstone2 final - Smart Shopping Bot
 
Windows XP in தமிழ்
Windows XP in தமிழ் Windows XP in தமிழ்
Windows XP in தமிழ்
 

Viewers also liked

Integração de Sistemas - BI
Integração de Sistemas - BIIntegração de Sistemas - BI
Integração de Sistemas - BI
Marco Coghi
 
NetPetBook - Manual do Franqueado
NetPetBook - Manual do FranqueadoNetPetBook - Manual do Franqueado
NetPetBook - Manual do Franqueado
Marco Coghi
 
Jundiai ge28-gpr-grupo
Jundiai ge28-gpr-grupoJundiai ge28-gpr-grupo
Jundiai ge28-gpr-grupo
Marco Coghi
 
Bem Vindo à Serra
Bem Vindo à SerraBem Vindo à Serra
Bem Vindo à Serra
Marco Coghi
 
PMO
PMOPMO
Capacitacion tecnologica para los estudiantes del iutpec
Capacitacion tecnologica para los estudiantes del iutpecCapacitacion tecnologica para los estudiantes del iutpec
Capacitacion tecnologica para los estudiantes del iutpecRichard Ortega
 
Planejamento Estratégico de Marketing
Planejamento Estratégico de MarketingPlanejamento Estratégico de Marketing
Planejamento Estratégico de Marketing
Lucas Alves
 
Computacion dia positivas
Computacion dia positivasComputacion dia positivas
Computacion dia positivasalexdiaz1992
 
Póvoa de Varzim - Ó Póvoa - esp-mo- ok
Póvoa de Varzim - Ó Póvoa - esp-mo- okPóvoa de Varzim - Ó Póvoa - esp-mo- ok
Póvoa de Varzim - Ó Póvoa - esp-mo- ok
namarques
 
Escritório GP Office
Escritório GP OfficeEscritório GP Office
Escritório GP Office
Marco Coghi
 
Termo Elétrica
Termo ElétricaTermo Elétrica
Termo Elétrica
Marco Coghi
 
Bh gp39-pmo-clean fan - ventos do campo
Bh gp39-pmo-clean fan - ventos do campoBh gp39-pmo-clean fan - ventos do campo
Bh gp39-pmo-clean fan - ventos do campo
Marco Coghi
 
Integração
IntegraçãoIntegração
Integração
Marco Coghi
 
Recife-GP11-FGP-Grupo5
Recife-GP11-FGP-Grupo5Recife-GP11-FGP-Grupo5
Recife-GP11-FGP-Grupo5
Marco Coghi
 
ENERGÍA HIDRÁULICA
ENERGÍA HIDRÁULICAENERGÍA HIDRÁULICA
ENERGÍA HIDRÁULICAIES Barañain
 
Códigos de agrupamentos de escolas e escolas não agrupadas
Códigos de agrupamentos de escolas e escolas não agrupadasCódigos de agrupamentos de escolas e escolas não agrupadas
Códigos de agrupamentos de escolas e escolas não agrupadasPaula Almeida
 
Abc g proj26-gep-construverde
Abc g proj26-gep-construverdeAbc g proj26-gep-construverde
Abc g proj26-gep-construverde
Marco Coghi
 

Viewers also liked (20)

Integração de Sistemas - BI
Integração de Sistemas - BIIntegração de Sistemas - BI
Integração de Sistemas - BI
 
NetPetBook - Manual do Franqueado
NetPetBook - Manual do FranqueadoNetPetBook - Manual do Franqueado
NetPetBook - Manual do Franqueado
 
Ii unidade fatima falcão
Ii unidade fatima falcãoIi unidade fatima falcão
Ii unidade fatima falcão
 
Jundiai ge28-gpr-grupo
Jundiai ge28-gpr-grupoJundiai ge28-gpr-grupo
Jundiai ge28-gpr-grupo
 
Bem Vindo à Serra
Bem Vindo à SerraBem Vindo à Serra
Bem Vindo à Serra
 
PMO
PMOPMO
PMO
 
Capacitacion tecnologica para los estudiantes del iutpec
Capacitacion tecnologica para los estudiantes del iutpecCapacitacion tecnologica para los estudiantes del iutpec
Capacitacion tecnologica para los estudiantes del iutpec
 
Planejamento Estratégico de Marketing
Planejamento Estratégico de MarketingPlanejamento Estratégico de Marketing
Planejamento Estratégico de Marketing
 
Computacion dia positivas
Computacion dia positivasComputacion dia positivas
Computacion dia positivas
 
Póvoa de Varzim - Ó Póvoa - esp-mo- ok
Póvoa de Varzim - Ó Póvoa - esp-mo- okPóvoa de Varzim - Ó Póvoa - esp-mo- ok
Póvoa de Varzim - Ó Póvoa - esp-mo- ok
 
Escritório GP Office
Escritório GP OfficeEscritório GP Office
Escritório GP Office
 
Telugu Daily News Paper
Telugu Daily News Paper Telugu Daily News Paper
Telugu Daily News Paper
 
Diseño tipográfico
Diseño tipográficoDiseño tipográfico
Diseño tipográfico
 
Termo Elétrica
Termo ElétricaTermo Elétrica
Termo Elétrica
 
Bh gp39-pmo-clean fan - ventos do campo
Bh gp39-pmo-clean fan - ventos do campoBh gp39-pmo-clean fan - ventos do campo
Bh gp39-pmo-clean fan - ventos do campo
 
Integração
IntegraçãoIntegração
Integração
 
Recife-GP11-FGP-Grupo5
Recife-GP11-FGP-Grupo5Recife-GP11-FGP-Grupo5
Recife-GP11-FGP-Grupo5
 
ENERGÍA HIDRÁULICA
ENERGÍA HIDRÁULICAENERGÍA HIDRÁULICA
ENERGÍA HIDRÁULICA
 
Códigos de agrupamentos de escolas e escolas não agrupadas
Códigos de agrupamentos de escolas e escolas não agrupadasCódigos de agrupamentos de escolas e escolas não agrupadas
Códigos de agrupamentos de escolas e escolas não agrupadas
 
Abc g proj26-gep-construverde
Abc g proj26-gep-construverdeAbc g proj26-gep-construverde
Abc g proj26-gep-construverde
 

More from noerror

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
noerror
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
noerror
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
noerror
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
noerror
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법noerror
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
noerror
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법noerror
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법noerror
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrainsnoerror
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드noerror
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기noerror
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강noerror
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개noerror
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문noerror
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개noerror
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editornoerror
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁noerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 

More from noerror (20)

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrains
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 

04_3danalyze를 이용한 렌더링 최적화

  • 1. 3d analyze¸¦ ÀÌ¿ëÇÑ ·»´õ¸µ ÆÛ÷¸Õ½º ¿ÉƼ¸¶ÀÌ¡ ±è¼ºÀÍ(noerror@hitel.net) 2004.12.05 1
  • 2. ÃÖÀûÈ- • °ÔÀÓ¿¡¼-Ç ÇÁ·¹ÀÓ Çâ»óÀ Á߿伺 • º´¸ñÁö¡ (bottleneck) ? - ÎÀû ² ¿È -ÈûÀÖà «· üÀ - ¡Áö ñ¸´º ûÀßÁý - ÓÀÔ° ÷Áη , É´öÁø°ÎÀ / ¹°¸®Ã³ - µ¸õ´»· • ÇÁ·ÎÆÄÀϸµ µ±¸ - Numega - TrueTime - Intel - Vtune - Nvidia - NVPerfHUD - Microsoft - Pix 2
  • 3. ·»´õ¸µ º´¸ñ ¿ä¼Ò • ·»´õ¸µ¿¡ ¿µÇâÀ» ÁÖ´Â ¿ä¼Ò - Ó¼¡° ÇÀÍ¿î¾þ åµÏ º¼Ä·´ - Çϵå¿þ¾îÀ ¿ªÆø´ë ÇÑ°è • ·»´õ¸µ º´¸ñ ¿ä¼Ò - Ç ·Á ¹À Ó ¹ öÆ Û ´ ë¿ ªÆ ø - ³Ãº½ØÅ øƪ¿ë´ - õ´ÌÀμ - º½ØÅö¹ , Æú¸®°ïÀÇ ¼ö - Ûź½Ã ®¸ð Þ Û¼üÀ øƪ¿ë´ 3
  • 4. 3d Analyze • 3D Analyze - Çϵå¿þ¾îÀ ´ÉÀ» ¼º ÃøÁ¤Çϱâ ÇÑ À§ ±¸ µ (cf. NVperfHUD - î¾þ¿®ÆÁÇÒ¼ »À¡Áöñ¸´º ´£Ã ¸±µ ) - ÏÀ¶µ ç»ß¹³° Tommti Systems (http://www.tommti-systems.com) - ¾Á¢° µ¸õ´»· »ÀǼɿ -¼¡¿ÎºÜ ÒǤÁ³¼ ö¼ ç¸ À Ö ®ÆÌÀ¹·Ó ÁÇ , ï°®¸úÆ ÇÀîµö¼ 鵸º¤Á ÍÅÏ´ ð¸ É´¡° • ÀåÁ¡ / ´ÜÁ¡ - Direct3D, OpenGL Áö¿øÇϸç , î¾þ¿åµÏÇ ü°«¹ - ÑÇ°º¯Æ ûÀ¥·×±Î ÁÇ ÌÀÃƼ ½Àø¾ä¿ÊÇ - ¼ Á³ ¤À » ½ Ç à Á ß¿ ¡ ¹ Ù² Ü ¼ ö ¾ Àø ½ - ¼ÒÇÁÆ®¿þ¾î ÀûÈ-¸¦ ÃÖ À§ÇØ µðÀÚ Î È Çø®ÄÉÀ̼¾î ¾Æ´Ô 4
  • 5. ½Çà ¼ø- 1. ¾îÇ÷¹À̼ Åü± 2. Ǽɿ Ãű¼ 3. àǽ 5
  • 6. ¿É¼Ç (1) • disable texture - ÇÀ³Ãº½ØÅ øƪ¿ë´ ÇÀÑ ¦Á âÇ µ¿ ©Å ¼Ã - ÇÀ³Ãº½ØŠⱩŠ, ¾ÐÃà , ¼ÒÆà ¿ä¼Ò ÀÇ½É (?) • disable rendering - µ¸õ´»· ÇÀÜ¿ Ì ¡°Ò¼ä¿ »Àâǵ¿ í° ÖÁ î±Ï´À½ Ö ? - ®¸ð Þ Lock/Unlock, ÓÀÔ° ÇÀîµ÷Áη Ò¼ä¿ É½ÇÀ • disable state switches - ®ÆÌÀן½ -ÈûÀÖà ÌÀº¼ä¿ÊÇ î±Ï´À½Ö ? 6
  • 7. ¿É¼Ç (2) • counters - ¡¿é¸-È £°Ã½ Ç ¸º¤Á ·âà - ÇÁ·¹ÀÓÌÆ® ÇÁ·¹ÀÓ ´ç Æú¸®°ï ¼ö Ã Ê ´ ç Æ ¸ú ®° ï ¼ ö À¿ðµñº ®¸ð Þ ®·ë¿ç» over draw after z-test draw pixels per frame after z-test • force small texture - ÅؽºÃ³ÀÇ ´ë¿ªÆø ¡ ÇâÀ» ¿µ ¹Þ½À´Ï±î ? 7
  • 8. ¿É¼Ç (3) • disable lighting - ÇÀÃÆÌ ó¶ »Àâǵ¿ î±Ï´À½Þ¹ ? • force windowes mode • force wireframe mode - ¡¿é¸-È ÑÇä¿Ê Òº ÌÀï°®¸úÆ Â´ÖÀ öÁ η¸À «´ ÎÀ®È • force 16 bite zbuffer - z¹ÛÆö ÇÀøƪ¿ë´ »Àâǵ¿ î±Ï´À½Þ¹ ? • save shaders to file 8
  • 9. ·Î±× Á¤º¸ (1) • perfomance logging - csv ηÂÅüÇ ×±Î· ÌÀÏÄÆ ÊµåÀú used vram »ç¿ëÁßÀÎ ¸ð ® Þ (®¸ðÞ øƪ¿ë´ ) fps ÓÀ¹·ÁÇ ®ÆÌÀ¹· (¸¸Á·ÇϽʴ±î ?) pps Æú¸®°ï ¼ö /ÃÊ (Çϵå¿þ¾î ÇÑ°è¿¡ µ´ÞÇß½Àϱî ?) 9
  • 10. ·Î±× Á¤º¸ (2) ppf Æú¸®°ï ¼ö /ÇÓÀ¹·Á ( ÇÑ ÇÁ·¹ÀÓ Æú¸®°ï ¼ö°¡ Àû´çÇÕ Ï±î ?) strst SetRenderStateÈ£Ãâ ¼ö / ÓÀ¹·ÁÇ sttxstgst SetTextureStageState È£Ãâ ¼ö /ÇÁ·¹ÀÓ ppc DrawPrimitive ´ç Æò±ÕÀû¸·Î Ãâ·ÂµÇ´ ¸®°ïÆú ¼ö (¹èÄ¡° Àû´çÇÕϱî ?) sttx SetTexture È£Ãâ ¼ö /ÇÓÀ¹·Á stvp SetViewport È£Ãâ ¼ö /ÇÓÀ¹·Á svs SetVertexShader È£Ãâ ¼ö / ÓÀ¹·ÁÇ sss SetStreamSource È£Ãâ ¼ö / ÓÀ¹·ÁÇ 10
  • 11. Àü·« (1) • ÅؽºÃ³ »ç¿ë Àü·« * disable texture Ǽɿ , force small texture · Î ´ ë¿ ªÆ øÀ Ç ¿ ǵ â È À® Î - àÃо ³Ãº½ØÅ (DDS) ë¿ç» - ¹Ó¸Ê (Mipmap) ë¿ç» - ºÀÛ ÇÀⱩŠ³Ãº½ ØÅ ë¿ç» - µ¸õ´»· ý ³Ãº½ØŠη°º ÃÆÒ¼ (ÅؽºÃ³ ij½Ì °üÁ¡ ) • ºñµð¿À ¸Þð® Á¢±Ù * disable rendering À¸·Î ½±°Ô È®ÀÎ °¡´É - lock/unlockÀ» ¼Ò·ÎÃÖ ÁÙÀ̸ç , ¾Æ¿¹ ¾È ´ÙÇÑ - lock À» ÇÒ ¶§¿¡µ read´ Â Ç ÁÏ ö ¾ ´Ê ´ Ù - lock À » Ç Ò ° æ¿ ì D3DLOCK_NOOVERWRITE ÇÀîµ Î·¸ÀǼɿ ÑÇë´Öà º´·Ä¼ À» ¸°´Ù»ì - ¼ÎÀÌ´õ¸¦ È°¿ëÇÑ´Ù 11
  • 12. Àü·« (2) • ÇÁ·¹ÀÓ ¹öÆÛ »ç¿ë Àü·« * µ ó»ØÇ ¡¿æ° ¯º ¥¸ûµ FPSº¯È- Àº²ñ , 16ºñÆ® z¹öÆÛ »ç¿ë ÈÄ ·¹ÀÓÇÁ º¯È- - î¿ ±¡° ÍÅκ ° µ¸õ´»· - z write°¡ ÇÊ¿ä ¾ø´Ù¸é z write disable - ÄÆ˾ ùµ£·íº »Àë¿ ç Ù´ÎÀ Á - ÇÀó¾ÖÁñº ¡°ÌÀ÷ é¸Ù´ø¾ 16ºñÆ® z ¦¸ÛÆö¹ Ù´ÑÇë¿ç» - clear° ¡ Ç ¿Ê ä ¾ ´ø Ù¸ é clear öÁÏÇ Ù´Âʾ • Æú¸®°ï ¼ö / ÇÁ·¹ÀÓ * log »ÀÏÄÆ ©¿ÏÇ®¼Ðº ¢° ÇÀæ°¯È ÑÇýÀû ÇÀö¼ ï°®¸úÆ ö¼ ¤Áá° * wireframe ·»´õ¸µÀÎ È¿°úÀûÎ culling ¹æýÀÌ ¾ø´ÂÁö È®ÀÎ 12
  • 13. Àü·« (3) • ¹èÄ¡ÃÖÀûÈ- - ÑÇÉ´¡° DrawPrimitive âÃ£È ¦¸ö¼½È -ÈÒ¼Öà ÑÇÏÀ¿µ é¸ó¶ÂÅüÇ ºÀû ³Ãº½ØÅ ö¼åÀ , Àû º ¿ÀºêÁ§Æ® ¼ö - ̽Ïź ÎÀ - ºÀû ÇÀö¼ ï°®¸úÆ ºÀ¨µð¸ ®¸ð Þ lock À» ÀÌ¿ëÇؼ-¶óµ DrawPrimitive âÃ£È ¦¸ö¼½È -ÈÒ¼Öà • ÃÖÀûÈ-¿¡ ÇÑ°è¡ ÀÖ´Â °æ¿ì - ÃÖÀûÈ-°¡ ºÒ°¡´ÉÇÑ ºÐÀ̶ó¸é Î À¯ ¿© ´Â ÀÖ ¿øÀ» Ú ´õ ¿ëÇؼ- È° Ç°ÁúÀ» Çâ»ó ³Ãº½ØÅ ¡¿øƪ ë´ ¡°-ÈûÀÖà ɴ¡°Òº ÒÇ ì¿ æ° ¦¸º½ØÅ ö¹ õ´ ë¿ ç» ÅؽºÃ³ÀÇ ´ë¿ªÆøÀÇ °è ¡ ÇÑ ¾Æ´Ï¶ó¸é ½ºÃ³¸¦ ÅØ ´õ ³ËÇÏ°Ô »ç¿ë 13
  • 14. È°¿ë • º¥Ä¡ ¸¶Å·À» ÅëÇؼ- Ÿ ¾îÇø®ÄÉÀ̼ ¼Óº ºÐ¼® - ÎÀû ó»Ì ÇÀØÁö¼ ï°®¸úÆ Â´ ö¼ ? - Àû ýÇÑ ¾À ¸Å´Ï¡ÀÇ ¹ýÀº æ ¹«¾ùÀΰ¡ ? • ÃÖÀûÈ-Ç °´üÀûÎ ÀÚ·á - ױη »ÀÏ ÄÆ -¼ØÇë¿ ÌÀ ¡¿ç¾ » µû¸¥ , ±â´É¿¡ ¸¥µû Æ÷¸Õ½ºÀÇÛ º¯È-¸¦ DB· Î ° ¸ü ® Æ °ò ¡ - º½Ò¼®¸ ÇÀÛ ¦Á ØÁâ± (Æú¸®°ï ¼ö , ÅؽºÃ³ÀÇ ±âÅ© , ö¼åÀ îµ ) • NVPerfHUD 14