DirectX Graphics ÇÁ·Î±×·¡¹Ö °¡À̵å Direct3D ÀÇ ±âÃÊÁö½Ä ¸®¼Ò½º ¸®¼Ò½ºÀÇ °ü¸® [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¸®¼Ò½º °ü¸®´Â, ½Ã½ºÅÛ ¸Þ¸ð¸® ½ºÅ丮Áö·ÎºÎÅÍ ÀåÄ¡°¡ ¾×¼¼½º °¡´ÉÇÑ ½ºÅ丮Áö¿¡ ¸®¼Ò½º¸¦ ¿Å°Ü, ÀåÄ¡°¡ ¾×¼¼½º °¡´ÉÇÑ ½ºÅ丮Áö·ÎºÎÅÍ ¸®¼Ò½º¸¦ ÆÄ±âÇÏ´Â ÇÁ·Î¼¼½ºÀÌ´Ù. Microsoft® Direct3D® ·±Å¸ÀÓ¿¡´Â, LRU (least-recently-used) ¿ì¼± ¹æ½Ä¿¡ ±Ù°ÅÇÏ´Â µ¶ÀÚÀûÀÎ °ü¸® ¾Ë°í¸®ÁòÀÌ ÀÖ´Ù. 1 °³ÀÇ ÇÁ·¹ÀÓ (IDirect3DDevice9::BeginScene È£Ãâ°ú IDirect3DDevice9::EndScene È£Ã⵿¾È) ³»¿¡¼, ÀåÄ¡°¡ ¾×¼¼½º °¡´ÉÇÑ ¸Þ¸ð¸®¿¡ °øÁ¸ÇÒ ¼ö ÀÖ´Â ¸®¼Ò½º¼öº¸´Ù ¸¹Àº ¸®¼Ò½º°¡ °ËÃâµÇ¸é most-recently-used ¿ì¼± ¹æ½ÄÀ¸·Î ¹Ù²ï´Ù.
°ü¸®µÇ´Â ¸®¼Ò½º¸¦ ÁöÁ¤ÇÏ·Á¸é , »ý¼º½Ã¿¡ D3DPOOL_MANAGED Ç÷¡±×¸¦ »ç¿ëÇÑ´Ù. °ü¸®µÇ´Â ¸®¼Ò½º´Â, ÀåÄ¡ÀÇ ¼Õ½Ç »óÅÂ¿Í Ã³¸® °¡´É »óÅ¿ÍÀÇ »çÀÌÀÇ Ã³¸®½Ã¿¡ º¸°ü À¯ÁöµÈ´Ù. ÀåÄ¡´Â,IDirect3DDevice9::Reset È£Ãâ¿¡ ÀÇÇØ º¹¿øÇÒ ¼ö ÀÖ¾î ÀÌ·¯ÇÑ ¸®¼Ò½º´Â artwork¿¡ Àç·ÎµåÇÏÁö ¾Ê¾Æµµ °è¼Ó Á¤»óÀûÀ¸·Î ±â´ÉÇÑ´Ù. ´Ù¸¸, ÀåÄ¡¸¦ ÆÄ±âÇØ »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì, D3DPOOL_MANAGED ¸¦ »ç¿ëÇØ »ý¼º µÈ ¸®¼Ò½º´Â ¸ðµÎ »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ÀÖ´Ù.
¸®¼Ò½º¸¦ µðÆúÆ®ÀÇ Ç®¿¡ÀÇ ¹èÄ¡¸¦ ÁöÁ¤ÇÏ·Á¸é , »ý¼º½Ã¿¡ D3DPOOL_DEFAULT Ç÷¡±×¸¦ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ Ç®³»ÀÇ ¸®¼Ò½º´Â, ÀåÄ¡ÀÇ ¼Õ½Ç »óÅÂ¿Í Ã³¸® °¡´É »óŰ£ÀÇ Ã³¸®¿¡¼´Â º¸°ü À¯ÁöµÇÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ ¸®¼Ò½º´Â Reset ¸¦ È£ÃâÇϱâ Àü¿¡ ¸±¸®Áî ÇØ, ±× ÈÄ·Î »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ÀÖ´Ù.
ÀåÄ¡ÀÇ ¼Õ½Ç »óÅÂÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸ÀåÄ¡ÀÇ ¼Õ½Ç¡¹À» ÂüÁ¶ÇÒ°Í.
¸®¼Ò½º °ü¸®´Â, ¸ðµç ŸÀÔ ¹× »ç¿ë¹ý¿¡ ´ëÇØ¼ Áö¿ø µÇ°í ÀÖ´Â °ÍÀº ¾Æ´Ï±â ¶§¹®¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, D3DUSAGE_RENDERTARGET Ç÷¡±×·Î »ý¼º µÈ °³Ã¼´Â Áö¿øÇÏÁö ¾Ê´Â´Ù. ¶Ç, ³ôÀº ºóµµ·Î ³»¿ëÀÌ º¯°æµÇ´Â °³Ã¼¿¡ ´ëÇØ¼´Â, ¸®¼Ò½º °ü¸®´Â Àå·ÁÇÏÁö ¾Ê´Â´Ù. ¿¹¸¦ µé¾î, ¸ðµç ÇÁ·¹ÀÓÀ» º¯°æÇÏ´Â °ü¸®µÇ´Â Á¤Á¡ ¹öÆÛÀÇ °æ¿ì, ¾î¶°ÇÑ Çϵå¿þ¾îÀÇ ÆÛÆ÷¸Õ½º¸¦ Å©°Ô ÀúÇϽÃŰ´Â ÀÏÀÌ ÀÖ´Ù. ´Ù¸¸, À̰ÍÀº ÅØ½ºÃ³ ¼Ò½º¿¡ °üÇÑ ¹®Á¦´Â ¾Æ´Ï´Ù.