(³ª´Â ¿¹ÀüºÎÅÍ Á¶ÇÕÇü ÇѱÛÀÇ ½ÅºÀÀÚ¿´´Ù.
ºñ·Ï ȸ»ç¿¡¼´Â ¿Ï¼ºÇüÀ̳ª unicodeÀÇ font engineÀ»
´ã´çÇÏ°í ÀÖÁö¸¸¼µµ...)
AVEJ¸¦ ¸¸µé¸é¼ ¼º´É¸é¿¡¼ °¡Àå
Áß¿äÇÏ°Ô »ý°¢ÇÑ °ÍÀÌ ÇÑ±Û Ãâ·Â ¼ÓµµÀÌ´Ù. ÀÌ °ÔÀÓÀº
´ëÈ°¡ ¸¹Àº ºÎºÐÀ» Â÷Áö Çϱ⠶§¹®ÀÌ´Ù. ÀÌÀü¿¡ °è¼Ó
»ç¿ëÇØ ¿Ô´ø DirectX 7.0Àº 2D surface°¡ 3D texture·Î
»ç¿ë°¡´ÉÇϱ⠶§¹®¿¡ ÇѱÛÀ» Á¶ÇÕÇÏ¿© 2D surface¿¡
¾²°í ±×°ÍÀ» 3D texture·Î ȸ鿡 Ãâ·ÂÇÏ¸é ¾î´À Á¤µµ
¸¸Á·ÇÒ¸¸ÇÑ ¼Óµµ¸¦ ³»¾ú¾ú´Ù.
±×·±µ¥ ¹®Á¦´Â AVEJ¸¦ DirectX 9.0·Î
°³¹ßÇÏ°Ú´Ù°í ÇÑ ÈĺÎÅÍ¿´´Ù. Á¦ÀÏ Ã³À½¿¡´Â ±×³É 3D
texture¿¡ lockÀ» °É°í Á÷Á¢ ÆùÆ®¸¦ ·»´õ¸µÇÏ´Â ¹æ¹ýÀ»
½è¾ú´Âµ¥ profilingÇØ º» °á°ú ¸ðµç ºÎÇÏÀÇ 90% ÀÌ»óÀ»
ÆùÆ® Ãâ·ÂÀÌ Â÷ÁöÇÏ°í ÀÖ¾ú´Ù. ±×·¡¼ °á±¹ ³»ºÎ character
code´Â unicode 2.0À̸ç Ãâ·Â¿ë ÆùÆ®¼ÂÀº ÇÑ±Û Á¶ÇÕÇüÀ»
»ç¿ëÇß´Ù. ±×·¡¼ ºÎÇϸ¦ 46%±îÁö ³»·Á¼ »ç¿ëÇÒ ¼ö
ÀÖ°Ô µÇ¾ú´Ù. ÇÏÁö¸¸ ¿ª½Ã °ÔÀÓ ³»¿¡¼ ÅؽºÆ® Ãâ·ÂÀÌ
Â÷ÁöÇÏ´Â ºñÀ²Àº ¿©ÀüÈ÷ ÄÇ´Ù.
±× ´ÙÀ½À¸·Î´Â font cachingÀ» »ý°¢Çß´Ù.
¾îÂ÷ÇÇ ÀÚÁÖ ¾²´Â ±ÛÀÚ°¡ ¸¹Áö ¾ÊÀ» °ÍÀ̹ǷΠ1024*1024
Á¤µµÀÇ texture¸é cashe buffer·Î ÃæºÐÇÏ´Ù°í »ý°¢ÇÏ°í
±×ÂÊÀ¸·Î ´ë¼¼¸¦ ±â¿ï¿© °¡°í ÀÖ¾ú´Ù. (°ÔÀÓÀÇ °æ¿ì¿¡´Â
À¯ÀúÀÇ ÀÔ·ÂÀ» Á¦¿ÜÇÏ°í´Â ´ÝÇôÁø ÀÔ·ÂÀ̹ǷΠ°ÔÀÓ
½ÃÀÛ ½Ã¿¡ ÀÌ¹Ì °¡Àå È¿À²ÀûÀÎ cache¸¦ ¹Ì¸® ã¾Æ ³õÀ»
¼ö ÀÖÀ» °ÍÀ̶ó »ý°¢ÇÑ´Ù.) ÇÏÁö¸¸ '”î'°ú °°ÀÌ cache
buffer¿¡ hitµÇÁö ¾ÊÀ» ¹®ÀÚ¸¦ ÀÔ·ÂÇßÀ» ¶§ texure¿¡
lockÀ» °É¾î¾ß ÇÏ´Â °ÍÀº ¾î¿ ¼ö ¾ø´Â °ÍÀÌ´Ù. ±×·¡¼
¾Æ¿¹ KSC5601 ¿Ï¼ºÇü¿¡¼ 2350ÀÚ¸¦ ¹Ì¸® ¿Ã·Á ³õ°í
Ãâ·ÂÇÒ±îÇÏ´Â »ý°¢µµ ÇغÃÁö¸¸ ÀÌ°Í ¿ª½Ã '¼„', 'Œc'
µîÀÇ ±ÛÀÚ ¾Õ¿¡¼´Â lockÀ» °É¾î¾ß ÇÏ´Â °ÍÀ̾ú´Ù.
(ÇѱÛÀ» ¸ðµÎ Ãâ·ÂÇϱâ À§Çؼ´Â 11200ÀÚ Á¤µµ°¡ ÇÊ¿äÇѵ¥
ÀÌ°ÍÀ» ¸ðµÎ texture¿¡ ¿Ã¸®±â À§Çؼ´Â font¸¶´Ù 3MÁ¤µµ°¡
µç´Ù.)
Á¶°Ç1. °ÔÀÓÀÌ ½ÃÀÛµÈ ÈÄ ÆùÆ® Ãâ·ÂÀ»
À§ÇØ texture¿¡ lockÀ» °É°í ½ÍÁö´Â ¾Ê´Ù. Á¶°Ç2.
TextureÀÇ ÇüÅ·Π»ç¿ëµÇ´Â caching buffer¸¦ ÃÖ¼Ò·Î
ÇÏ°í ½Í´Ù. Á¶°Ç3. DirectX¿¡¼ Á¦°øÇÏ´Â font class´Â
¾²°í ½ÍÁö ¾Ê´Ù.
±×·±µ¥ °©ÀÚ±â À̰͵éÀ» ¾ÆÁÖ ½±°Ô
ÇØ°áÇÒ ¼ö ÀÖÀ» °Í °°Àº »ý°¢ÀÌ ¶°¿Ã¶ú´Ù.
±×°ÍÀº ¹Ù·Î À§´ëÇÑ 'ÇÑ±Û Á¶ÇÕÇü!!'.
¿©Å±îÁö °è¼Ó, Ãʼº Áß¼º Á¾¼ºÀÌ Á¶ÇÕÀ» ¸¶Ä£ °ÍÀ»
°¡Áö°í cache¸¦ ÇÏ·Á°í ´Þ·Áµé¾ú±â ¶§¹®¿¡ ¾ÆÁÖ ±âº»
ÀûÀÎ °ÍÀ» °£°úÇÏ°í ÀÖ¾ú´Ù. Á¶ÇÕÇüÀÇ raw data¸¦ Á÷Á¢
texture¿¡ ¿Ã·Á ³õ°í ÇÑ ±ÛÀÚ´ç 2-3¹øÀÇ blitting¸¸
Çϸé lock¾øÀÌ ¸ðµÎ ÇØ°áµÇ´Â °ÍÀ̾ú´Ù. (font color´Â
vertext color¸¦ Á¶ÀýÇÏ·Á ±¸Çö) °è»ê±â·Î °è»êÇغ»
°á°ú 16*16 Å©±âÀÇ ÇѱÛÀ» »ç¿ëÇÒ ¶§ 12000ÀÚ¸¦ ¸ðµÎ
Ç¥ÇöÇϱâ À§Çؼµµ 300*300ÀÇ texture buffer¸¸ ÀÖÀ¸¸é
µÇ¾ú´Ù. 2ÀÇ ½Â¼ö·Î texture¸¦ Àâ´Â´Ù¸é 512*256 Á¤µµ°¡
µÇ°í ÀÌ Á¤µµ¸é ascii°ú latin1ÀÇ ¿µ¿ªµµ Æ÷ÇÔÇÏ°í
ÇÊ¿äÇÑ Æ¯¼ö¹®ÀÚµµ ³²´Â °ø°£¿¡ Áý¾î ³ÖÀ» ¼ö ÀÖÀ»
°Í °°´Ù. »ç½Ç ±ÛÀÚ°¡ º¯ÇÏÁö ¾Ê´Â ÀÌ»óÀº Á¶ÇÕµÈ ±ÛÀÚ°¡
render targetÀ¸·Î ¼³Á¤µÈ font Ãâ·Â¿ë texture¿¡ ³²¾Æ
ÀÖÀ» °ÍÀ̱⠶§¹®¿¡ ½ÇÁ¦ °ÔÀÓ¿¡¼ ºÎÇÏÀ²À» ´õ ¶³¾îÁú
°ÍÀ¸·Î ¿¹»óµÈ´Ù.
À§ÀÇ »ý°¢À» °¡Áö°í ¸¸µç °ÍÀÌ ¾Æ·¡ÀÇ
÷ºÎÆÄÀÏÀÌ´Ù. µ¨ÆÄÀ̸¦ ÀÌ¿ëÇؼ °¡Àå °£´ÜÇÏ°Ô Direct3D¸¦
±¸¼ºÇÏ°í ±ÛÀÚ¸¦ Ãâ·ÂÇϵµ·Ï Çß´Ù. ±ÛÀڷΠȸéÀ» °¡µæ
ä¿ì´Â ¿¹Á¦Àε¥, ÇöÀç ³ªÀÇ ±×·¡ÇÈ Ä«µå¿¡¼´Â FPS°¡
vertical retrace ºñÀ²°ú µ¿ÀÏÇÑ °á°ú·Î ³ª¿Ô´Ù. Áï
ÇÑ±Û Ãâ·Â¿¡ ÀÇÇÑ ºÎÇÏ´Â ÃøÁ¤Çϱ⠾î·Æ´Ù´Â °á·ÐÀÌ´Ù.
÷ºÎÆÄÀÏ
(68K) (Delphi 5¿¡¼ ÀÛ¼ºµÇ¾úÀ½)
|