了解缓冲策略

了解缓冲策略,第1张

了解缓冲策略

运作方式如下:

  1. Jframe
    构造了一个
    BufferStrategy
    当你调用
    createBufferStrategy(2);
    。该
    BufferStrategy
    知道它属于那个特定实例
    Jframe
    。您正在检索它并将其存储在
    bs
    现场。
  2. 到了该画画的时候,您正在
    Graphics2D
    从中检索一个
    bs
    。该
    Graphics2D
    对象绑定到拥有的内部缓冲区之一
    bs
    绘制时,所有内容都将进入该缓冲区。
  3. 当您最终调用时
    bs.show()
    bs
    将使您刚才绘制的缓冲区成为的当前缓冲区
    Jframe
    。它知道如何执行此 *** 作,因为(请参阅第1点)它知道该
    Jframe
    服务的目的。

这就是所有的事情。

通过注释代码…您应该稍微更改绘图例程。代替这个:

try{    g2 = (Graphics2D) bs.getDrawGraphics();    drawWhatEver(g2);} finally {       g2.dispose();}bs.show();

您应该有一个像这样的循环:

do {    try{        g2 = (Graphics2D) bs.getDrawGraphics();        drawWhatEver(g2);    } finally {g2.dispose();    }    bs.show();} while (bs.contentsLost());

这将防止丢失丢失的缓冲帧,根据文档,这种情况可能偶尔发生。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5601262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存