±×·¡ÇÈ ÇÕ¼º ¼Óµµ¸¦ ³ô¿©¾ß ÇÒ ºÎºÐÀÌ ÀÖ¾î¼, °è¼Ó ÀÚ·áµéÀ» ã¾Æ º¸¸é¼, ÇÑ ´Þ°, ÀÌ·¸°Ô Àú·¸°Ô Å×½ºÆ®¸¦ Çغ¸°í ÀÖ½À´Ï´Ù.
Áö±Ý±îÁö ¾Ë¾Æ³½ »çÇ× Á¤¸®
1. µ¨ÆÄÀÌ XE3~ °è¿ TFilter ÀÛ¼ºÀ» Çؼ »ç¿ë
- ÀÌ ºÎºÐÀº ÃÖ±Ù¿¡ º¯°æÀÌ ÀÖ¾ú´ø °Í °°Àºµ¥, ´ë·« ¾Æ·¡Ã³·³ Çȼ¿½¦ÀÌ´õ¸¦ ÄÄÆÄÀÏÇÏ¸é µË´Ï´Ù. fxc /T ps_2_0 /E main /FoMyFilter_dx9.ps MyFilter.fx fxc /T ps_4_0_level_9_0 /Gec /E main /FoMyFilter_dx11.ps MyFilter.fx
- ´Ù¸¸, ÀÌ°æ¿ì, RGBA (32ºñÆ®)¿Í FMX Bitmap¸¸ Áö¿øÇÕ´Ï´Ù.
2. VCL TBitmap (ȤÀº Raw Pixel Data/Stream »ç¿ë½Ã) Á÷Á¢ ÀÛ¼ºÀ» ÇؾßÇϴµ¥, Àú °°Àº °æ¿ì¿¡´Â ÀÔÃâ·Â µ¥ÀÌÅÍ°¡ 3¹ÙÀÌÆ®(RGB)°æ¿ìµµ ÀÖ°í, 4¹ÙÀÌÆ®(RGBA) °æ¿ìµµ ÀÖ¾î¼, OpenCL·Î °áÁ¤À» Çß½À´Ï´Ù.
¿¹¸¦ µé¾î °¡¿ì½Ã¾È ºí·¯ °°Àº °æ¿ì¿¡´Â °è»êÀº GPU·Î Çϸé, CPU ´ëºñ 20¹èÀÌ»ó ºü¸¨´Ï´Ù. ¹®Á¦´Â °è»êÀº ºü¸¥µ¥, CPU/GPU °£ÀÇ ¸Þ¸ð¸® Àü¼ÛÀÌ ¸Å¿ì ´À¸®´Ù´Â °ÍÀÔ´Ï´Ù.
* ¸Å¿ì´À¸®´Ù Àǹ̴ ´ë·« ÃÊ´ç 3GB/s Á¤µµ
´ë·« i5,GTX650Ti ±âÁØÀ¸·Î ´ë·« 1920x1080xRGBA Àü¼Û½Ã 2.5ms Á¤µµ °É¸®°Ô µË´Ï´Ù. ½ÇÁ¦ °è»ê ½Ã°£Àº 0.5ms Àε¥, ÀÔÃâ·ÂÀÌ 2.5ms x 2 = 5ms ÀÌ °É¸®°Ô µÇ¾î, ÃÑ ¼Ò¿ä ½Ã°£Àº 5.6ms °¡ °É¸®°Ô µË´Ï´Ù.
±×¸®°í, Intel ³»Àå GPUÀÎ HD2500 Open CL + EnqueueMapImage ¸¦ »ç¿ëÇϸé, °è»ê ½Ã°£Àº 4ms (GPU´ëºñ 8¹èÁ¤µµ ´À¸²)ÀÌÁö¸¸, ¸Þ¸ð¸® º¹»ç°¡ ¾ø±â ¶§¹®¿¡ (Zero Copy) ½ÇÁ¦ ÃÑ ¼Ò¿ë ½Ã°£Àº 4ms Á¤µµ°¡ µË´Ï´Ù.
½ÇÇè °á°ú (°¡¿ì½Ã¾Èºí·¯ 1920x1080xRGBA ±âÁØ))
- CPU Only : 14.6ms - GPU OpenCL : 5.6ms / Read,Write / GTX650 Ti (¼ø°è»ê ½Ã°£ 0.4ms) - GPU OpenCL : 8.1ms / Mapped / GTX650 Ti (¼ø°è»ê ½Ã°£ 0.4ms) - CPU OpenCL :10.4ms / Read,Write / Intel i5-3570@3.4GHz (¼ø°è»ê ½Ã°£ 4ms) - CPU OpenCL : 4.0ms / Mapped / Intel i5-3570@3.4GHz (¼ø°è»ê ½Ã°£ 4ms)
°á·Ð - OpenCL : °è»êÀÚü´Â ¹«ÁöÇÏ°Ô ºü¸£¸ç, º¹Àâµµ ȤÀº ½Ç¼ö°è»êÀÌ ¸¹ÀÌÁú ¼ö·Ï CPU ´ëºñ ¼º´É °³¼± È¿°ú°¡ Ä¿Áü - Àüü ÀÔÃâ·Â ¹êµå¸¦ °í·ÁÇؼ ÀÛ¼ºÇØ¾ß ÇÒ °Í °°À½. - ¾ó··¶×¶¥ ÀÛ¼ºÇصµ, CPU ´ëºñ 2~3¹è´Â ¼Óµµ¸¦ ³ôÀÏ ¼ö ÀÖÀ½. (º¹ÀâÇÑ °è»êÀÏ °æ¿ì, ÃÖ´ë 40~50¹è±îÁö Çâ»ó °¡´É)
´ë·« ÀÌ·¸°Ô Á¤¸®°¡ µË´Ï´Ù.
|