JavaTM 2 Platform
Standard Ed. 5.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 ±â´ÉÀ» °³ÀÔ½ÃÄÑ °ËÃâµË´Ï´Ù.

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

º¹ÀâÇÑ ¹öÆÛ ½ºÆ®·¡ÅÍÁö¿¡´Â ¸î°³ÀÇ Á¾·ù°¡ ÀÖ¾î, ÀϹÝÀûÀÎ °ÍÀ¸·Î Çؼ­´Â Â÷·ÊÂ÷·Ê ¸µ ¹öÆÛ¸µ, 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¿¡ ÀÇ ¸¶Áö¸· È£ÃâÀ» À§Çؼ­ ¼Ò½Ç »óÅ¿¡ ÀÖ´ø Ç¥¸éÀÌ ÃÖ±Ù º¹¿øµÇ¾úÀ» °æ¿ì´Â ÀçÆäÀÎÆ®°¡ ÇÊ¿äÇÑ Àϵµ ÀÖ½À´Ï´Ù. ¼Ò½Ç ¹öÆÛ¿¡ ´ëÇؼ­´Â VolatileImage¸¦ ÂüÁ¶ÇϽʽÿÀ.

°ü·Ã Ç׸ñ:
VolatileImage

show

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


JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.