JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.awt.image
Ŭ·¡½º BufferStrategy

java.lang.Object 
  |
  +--java.awt.image.BufferStrategy
Á÷°èÀÇ ±âÁ¸ÀÇ ¼­ºê Ŭ·¡½º:
Component.BltBufferStrategy , Component.FlipBufferStrategy

public abstract class BufferStrategy
extends Object

BufferStrategy Ŭ·¡½º´Â ƯÁ¤ÀÇ Canvas ¶Ç´Â Window »óÀÇ º¹ÀâÇÑ ¸Þ¸ð¸®¸¦ Æí¼ºÇÏ´Â ¸ÞÄ«´ÏÁòÀ» ³ªÅ¸³À´Ï´Ù. ƯÁ¤ÀÇ ¹öÆÛ ½ºÆ®·¡ÅÍÁö°¡ ±¸Çö °¡´ÉÇѰ¡ ¾î¶²°¡ ¹× ±× ±¸Çö ¹æ¹ýÀº Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾îÀÇ Á¦ÇÑ »çÇ׿¡ ÀÇÇØ Á¤ÇØÁý´Ï´Ù. ÀÌ·¯ÇÑ Á¦ÇÑ »çÇ×Àº Canvas ¶Ç´Â Window ¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡ »ç¿ëÇÏ´Â GraphicsConfiguration ÀÇ ±â´ÉÀ» °³ÀÔ½ÃÄÑ °ËÃâµË´Ï´Ù.

¡¸¹öÆÛ¡¹ ¹× ¡¸Ç¥¸é¡¹À̶ó°í ÇÏ´Â ¸»Àº µ¿ÀÇÀ̸ç, ºñµ¥¿Àµ¥¹ÙÀ̽º¸Þ¸ð¸®³» ¶Ç´Â ½Ã½ºÅ۸޸𸮳»¿¡¼­ÀÇ ¿¬¼ÓÇÑ ¸Þ¸ð¸® area¸¦ °¡¸®Åµ´Ï´Ù.

º¹ÀâÇÑ ¹öÆÛ ½ºÆ®·¡ÅÍÁö¿¡´Â ¸î°³ÀÇ Á¾·ù°¡ ÀÖ¾î, ÀϹÝÀûÀÎ °ÍÀ¸·Î ÇØ¼­´Â Â÷·ÊÂ÷·Ê ¸µ ¹öÆÛ¸µ, Blit ¹öÆÛ¸µ, ¹× ½ºÅ×·¹¿À ¹öÆÛ¸µÀÌ ÀÖ½À´Ï´Ù. ¹«¾ùº¸´Ù ÀϹÝÀûÀÎ °ÍÀº Â÷·ÊÂ÷·Ê ¸µ ¹öÆÛ¸µ (´õºí ¹öÆÛ¸µ ¶Ç´Â Æ®¸®Çà ¹öÆÛ¸µ)ÀÔ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ´ÜÀÏÀÇ ¡¸¹é ¹öÆÛ¡¹¿¡ Ç¥Çö ÇÏ°í ³ª¼­, µ¥ÀÌÅ͸¦ º¹Á¦ÇÒ±î ºñµð¿À Æ÷ÀÎÅ͸¦ À̵¿ÇÏ´Â °ÍÀ¸·Î½á ´ÜÀÏ ½ºÅÜ¿¡¼­ ³»¿ëÀ» ÇÁ·±Æ® (µð½ºÇ÷¹ÀÌ)¿¡ À̵¿ÇÕ´Ï´Ù. ºñµð¿À Æ÷ÀÎÅ͸¦ À̵¿ÇÏ´Â °ÍÀ¸·Î ¹öÆÛ°¡ ±³È¯µÇ¾î ÃÖÃʷΠǥÇö µÈ ¹öÆÛ ¶Ç´Â µð¹ÙÀ̽º¿¡ ÇöÀç Ç¥½ÃµÇ°í ÀÖ´Â À̹ÌÁö°¡ ¡¸ÇÁ·±Æ® ¹öÆÛ¡¹°¡ µË´Ï´Ù. À̰ÍÀº ¡¸ÆäÀÌÁöÈĸ³ÇΡ¹À̶ó°í ºÒ¸³´Ï´Ù.

´ë½Å¿¡, ºñµð¿À Æ÷ÀÎÅ͸¦ À̵¿ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, üÀγ»¿¡¼­ ¼±ÇàÇØ ¹é ¹öÆÛÀÇ ³»¿ëÀ» º¹Á¦ ¶Ç´Â ¡¸Blit¡¹ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

 Double buffering:

                    ***********         ***********
                    *         * ------> *         *
 [To display] <---- * Front B *   Show  * Back B.  * <---- Rendering
                    *         * <------ *         *
                    ***********         ***********

 Triple buffering:

 [To      ***********         ***********        ***********
 display] *         * --------+---------+------> *         *
    <---- * Front B *   Show  * Mid.  B.  *        * Back B.  * <---- Rendering
          *         * <------ *         * <----- *         *
          ***********         ***********        ***********

 

½ºÅ×·¹¿À ¹öÆÛ¸µÀº Á¿ìÀÇ ´«¿¡ ´ëÇØ¼­ ´Ù¸¥ À̹ÌÁö Ç¥Çö¸¦ ¼­Æ÷Æ®ÇÏ´Â Çϵå¿þ¾î¿ëÀÔ´Ï´Ù. Â÷·ÊÂ÷·Ê ¸µ ¹öÆÛ¸µ°ú ´à¾Æ ÀÖ½À´Ï´Ù¸¸, ¾ç´«¿ëÀ¸·Î 2 °³ÀÇ ¹öÆÛ üÀÎÀÌ ÀÖ½À´Ï´Ù. 2 °³ÀÇ ¹öÆÛ üÀÎÀº µ¿½Ã¿¡ ¹Ù²ò´Ï´Ù.

 Stereo buffering:

                     ***********         ***********
                     *         * ------> *         *
 [To left eye] <---- * Front B *         * Back B.  * <---- Rendering
                     *         * <------ *         *
                     ***********         ***********
                                  Show
                     ***********         ***********
                     *         * ------> *         *
 [To right eye] <--- * Front B *         * Back B.  * <---- Rendering
                     *         * <------ *         *
                     ***********         ***********
 

¹öÆÛ ½ºÆ®·¡ÅÍÁöÀÇ ÀÛ¼º°ú »ç¿ëÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.



 // Check the capabilities of the GraphicsConfiguration
 ...

 // Create our component
 Window w = new Window(gc);

 // Show our window
 w.setVisible(true);

 // Create a general double-buffering strategy
 w.createBufferStrategy(2);
 BufferStrategy strategy = w.getBufferStrategy();

 // Render loop
 while (! done) {
    Graphics g = strategy.getDrawGraphics();
    // Draw to graphics
    ...
    strategy.show();
 }

 // Dispose the window
 w.setVisible(false);
 w.dispose();
 

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
Component, GraphicsConfiguration

»ý¼ºÀÚÀÇ °³¿ä
BufferStrategy ()
           
 
¸Þ¼ÒµåÀÇ °³¿ä
abstract  boolean contentsLost ()
          getDrawGraphics ¿¡ÀÇ ¸¶Áö¸· È£ÃâÀ» À§Çؼ­(¶§¹®¿¡) Ç¥Çö ¹öÆÛ°¡ ¼Ò½ÇÇß´ÂÁö ¾î¶°Çß´ÂÁö¸¦ µ¹·ÁÁÝ´Ï´Ù.
abstract  boolean contentsRestored ()
          Ç¥Çö ¹öÆÛ°¡ ¼Ò½Ç »óÅ·κÎÅÍ ÃÖ±Ù º¹¿øµÇ¾î µðÆúÆ®ÀÇ ¹é±×¶ó¿îµå Ä®¶ó (Èò»ö)¿¡ ÀçÃʱâÈ­µÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ µ¹·ÁÁÝ´Ï´Ù.
abstract  BufferCapabilities getCapabilities ()
           
abstract  Graphics getDrawGraphics ()
           
abstract  void show ()
          ¸Þ¸ð¸®¸¦ º¹Á¦ (Blit)ÇÒ±î µð½ºÇ÷¹ÀÌ Æ÷ÀÎÅ͸¦ º¯°æÇÏ´Â (¹Ù²Û´Ù) °Í¿¡ µû¶ó, ´ÙÀ½¿¡ »ç¿ë °¡´ÉÇÑ ¹öÆÛ¸¦ °¡½Ã »óÅ·ΠÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

»ý¼ºÀÚÀÇ »ó¼¼

BufferStrategy

public BufferStrategy()
¸Þ¼ÒµåÀÇ »ó¼¼

getCapabilities

public abstract BufferCapabilities  getCapabilities()
¹Ýȯ°ª:
ÀÌ ½ºÆ®·¡ÅÍÁöÀÇ ¹öÆÛ¸µ ±â´É

getDrawGraphics

public abstract Graphics  getDrawGraphics()
¹Ýȯ°ª:
Ç¥Çö ÇÏ´Â ¹öÆÛÀÇ ±×·¡ÇȽº. ÀÌ ¸Þ¼Òµå´Â ÆÛÆ÷¸Õ½ºÀÇ ÀÌÀ¯·ÎºÎÅÍ µ¿±â ÇÏÁö ¾Ê´Â °æ¿ì°¡ ÀÖ´Ù. º¹¼ö thread·Î ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ·Á¸é , ¾îÇø®ÄÉÀÌ¼Ç ·¹º§¿¡¼­ÀÇ Ã³¸®°¡ ÇÊ¿ä. ÃëµæÇÑ ±×·¡ÇȽº ¿ÀºêÁ§Æ®ÀÇ Ã³¸®´Â ¾îÇø®ÄÉÀ̼ÇÃø¿¡¼­ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ´Ù

contentsLost

public abstract boolean contentsLost()
getDrawGraphics ¿¡ÀÇ ¸¶Áö¸· È£ÃâÀ» À§Çؼ­(¶§¹®¿¡) Ç¥Çö ¹öÆÛ°¡ ¼Ò½ÇÇß´ÂÁö ¾î¶°Çß´ÂÁö¸¦ µ¹·ÁÁÝ´Ï´Ù. ¹öÆÛ ½ºÆ®·¡ÅÍÁö³»ÀÇ ¹öÆÛ´Â Åë»ó,VolatileImage ÇüÀ̱â (À§ÇØ)¶§¹®¿¡ ¼Ò½ÇÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¼Ò½Ç ¹öÆÛ¿¡ ´ëÇØ¼­´Â VolatileImage ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

°ü·Ã Ç׸ñ:
VolatileImage

contentsRestored

public abstract boolean contentsRestored()
Ç¥Çö ¹öÆÛ°¡ ¼Ò½Ç »óÅ·κÎÅÍ ÃÖ±Ù º¹¿øµÇ¾î µðÆúÆ®ÀÇ ¹é±×¶ó¿îµå Ä®¶ó (Èò»ö)¿¡ ÀçÃʱâÈ­µÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ µ¹·ÁÁÝ´Ï´Ù. ¹öÆÛ ½ºÆ®·¡ÅÍÁö³»ÀÇ ¹öÆÛ´Â Åë»ó,VolatileImage ÇüÀ̱â (À§ÇØ)¶§¹®¿¡ ¼Ò½ÇÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. getDrawGraphics ¿¡ÀÇ ¸¶Áö¸· È£ÃâÀ» À§Çؼ­(¶§¹®¿¡) ¼Ò½Ç »óÅ¿¡ ÀÖ´ø Ç¥¸éÀÌ ÃÖ±Ù º¹¿øµÇ¾úÀ» °æ¿ì´Â Àçpaint°¡ ÇÊ¿äÇÑ Àϵµ ÀÖ½À´Ï´Ù. ¼Ò½Ç ¹öÆÛ¿¡ ´ëÇØ¼­´Â VolatileImage ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

°ü·Ã Ç׸ñ:
VolatileImage

show

public abstract void show()
¸Þ¸ð¸®¸¦ º¹Á¦ (Blit)ÇÒ±î µð½ºÇ÷¹ÀÌ Æ÷ÀÎÅ͸¦ º¯°æÇÏ´Â (¹Ù²Û´Ù) °Í¿¡ µû¶ó, ´ÙÀ½¿¡ »ç¿ë °¡´ÉÇÑ ¹öÆÛ¸¦ °¡½Ã »óÅ·ΠÇÕ´Ï´Ù.


JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.