• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
04_3danalyze를 이용한 렌더링 최적화
 

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

on

  • 266 views

 

Statistics

Views

Total Views
266
Views on SlideShare
266
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 3d analyze¸¦ ÀÌ¿ëÇÑ ·»´õ¸µ ÆÛ÷¸Õ½º ¿ÉƼ¸¶ÀÌ¡ ±è¼ºÀÍ(noerror@hitel.net) 2004.12.051
    • ÃÖÀûÈ- • °ÔÀÓ¿¡¼-Ç ÇÁ·¹ÀÓ Çâ»óÀ Á߿伺 • º´¸ñÁö¡ (bottleneck) ? - ÎÀû ² ¿È -ÈûÀÖà «· üÀ - ¡Áö ñ¸´º ûÀßÁý - ÓÀÔ° ÷Áη , É´öÁø°ÎÀ / ¹°¸®Ã³ - µ¸õ´»· • ÇÁ·ÎÆÄÀϸµ µ±¸ - Numega - TrueTime - Intel - Vtune - Nvidia - NVPerfHUD - Microsoft - Pix2
    • ·»´õ¸µ º´¸ñ ¿ä¼Ò • ·»´õ¸µ¿¡ ¿µÇâÀ» ÁÖ´Â ¿ä¼Ò - Ó¼¡° ÇÀÍ¿î¾þ åµÏ º¼Ä·´ - Çϵå¿þ¾îÀ ¿ªÆø´ë ÇÑ°è • ·»´õ¸µ º´¸ñ ¿ä¼Ò - Ç ·Á ¹À Ó ¹ öÆ Û ´ ë¿ ªÆ ø - ³Ãº½ØÅ øƪ¿ë´ - õ´ÌÀμ - º½ØÅö¹ , Æú¸®°ïÀÇ ¼ö - Ûź½Ã ®¸ð Þ Û¼üÀ øƪ¿ë´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 file8
    • ·Î±× Á¤º¸ (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· Î ° ¸ü ® Æ °ò ¡ - º½Ò¼®¸ ÇÀÛ ¦Á ØÁâ± (Æú¸®°ï ¼ö , ÅؽºÃ³ÀÇ ±âÅ© , ö¼åÀ îµ ) • NVPerfHUD14