问题标签 [doublebuffered]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7044 浏览

java - Java 双缓冲

我正在做一个项目,我已经尽可能多地阅读了 java 中的双缓冲。我想要做的是向我的 JFrame 添加一个组件或面板或其他东西,其中包含要绘制的双缓冲表面。如果可能,我想使用硬件加速,否则使用常规软件渲染器。到目前为止,我的代码如下所示:

我创建了一个抽象游戏类和一个调用 Update 和 Draw 的游戏循环。现在,如果您看到我的评论,那是我主要关心的领域。有没有办法获得一次图形,而不是通过重绘和paintComponent,然后在每次重绘时分配一个变量?另外,这个硬件是默认加速的吗?如果不是,我应该怎么做才能使其硬件加速?

0 投票
4 回答
4439 浏览

c# - C#中的双缓冲

可能的重复:
如何在 C# 中对面板进行双重缓冲?
用于绘制图形和滚动的 c# 面板

我在面板上绘制位图,我在同一面板上使用缩放。缩放时面板持续闪烁。为什么面板没有 DoubleBuffered 属性?

代码:

0 投票
1 回答
557 浏览

python - 在 wxPython 中使用 self.MemoryDC 需要帮助

我正在尝试制作一个双缓冲的自定义文本小部件(为了避免闪烁)。但是,我希望能够做一些事情。然而,我不确定我应该使用的确切方法。

前两个很简单,我只是想改变背景和前景色。

所以或多或少我希望能够在self.Draw()中更改self.Text的文本颜色。

片段:

作为self.MemoryDC的背景(填充)颜色出售。

接下来,有谁知道我怎样才能将self.Text 居中最后, self.Text创建后如何配置?

到目前为止的小部件:

0 投票
2 回答
16005 浏览

java - 使用canvas和surfaceview在Android上使用Java进行双缓冲

如何做到这一点?谁能给我一个大纲?

从我在网上找到的内容来看,它似乎在我的 run() 函数中:

  1. 创建位图
  2. 创建一个画布并将其附加到位图
  3. 锁定画布()
  4. 调用 draw(canvas) 并将位图绘制到后台缓冲区(如何??)
  5. 解锁CanvasAndPost()

它是否正确?如果是这样,我能得到一点解释吗?这些步骤是什么意思,我该如何实施?我以前从未为 Android 编程过,所以我是一个真正的菜鸟。如果它不正确,我该怎么做?

0 投票
3 回答
1239 浏览

c# - C#双缓冲?

我正在使用 COSMOS 编译器用 C# 编写一个操作系统(对于那些不知道 COSMOS 将 IL 代码转换为 x86 程序集的人),我正在制作一个 GUI。
我以前制作过 GUI,但现在我正在尝试制作双缓冲区。
这听起来很简单,但以下是我的问题 -
我不能使用System.Drawing库中的任何方法或使用 p/ 调用的任何其他命名空间。另外,我不能使用多维数组(我可以使用常规数组)。所以我的问题是如何实现双缓冲?
我知道这是可能的,因为我知道有人这样做。

此外,我拥有的唯一图形功能SetPixelGetPixelClear。尽管我更喜欢一个答案,但如果有人知道一篇关于双缓冲等的好文章,请告诉我。
PS。我的操作系统是 320 x 200 Res LOL

0 投票
2 回答
1436 浏览

c# - 在 C# 中的数组中绘制 X 和 Y 的简单方法

您好,我正在 C# 中制作双缓冲区,我需要找到一个公式来绘制数组中的 X 和 Y 坐标。目前我正在使用一个循环来绘制我的 X 和 Y,但它需要一些时间来完成。(注意我不能使用多维数组!!!)

0 投票
2 回答
4345 浏览

java - Swing/JFrame 与 AWT/Frame 在 EDT 外渲染

在实现自己的渲染和不使用标准 Java GUI 组件时,使用 AWT Frame 和 Swing JFrame 之间的主要区别是什么?

这是上一个问题的后续:

AWT 自定义渲染 - 捕捉平滑调整大小并消除调整大小闪烁

Swing 与 AWT 的典型谈话要点似乎并不适用,因为我们只使用框架。例如,重量级与轻量级的对比(JFrame 扩展了 Frame)。

那么对于这种情况,JFrame 还是 Frame 哪个最好呢?它有什么有意义的区别吗?

注意:这种情况是不希望在 EDT 中进行渲染的情况。有一个未链接到 EDT 的应用程序工作流,并且渲染是在 EDT 之外根据需要完成的。将渲染与 EDT 同步会增加渲染的延迟。除了 Frame 或 JFrame(或封闭的 JPanel/组件/等,如果最好的话),我们不会渲染任何 Swing 或 AWT 组件。

0 投票
1 回答
365 浏览

java - 我是不是做得不正确或不理解 Android 上的双缓冲?

我有一个功能

例如,paint(canvas) 调用一堆绘制图形和文本的其他函数

我遇到的问题是图形和文本都应该不断变化,它们不会被擦除,而是会不断地绘制自己。难道我的整个画布不应该每次都重新绘制,因为这就是双缓冲与 lock() 和 unlock() 一起工作的方式吗?我没有正确理解这一点吗?我该怎么做?

0 投票
6 回答
6483 浏览

c# - 尽管有双重缓冲,但自动收报机仍然闪烁

有谁知道如何摆脱闪烁?我研究了 SO,网络,并尝试了许多不同的事情,例如在不绘制 OnPaint() 时将 TickerControl 放入双缓冲面板中,例如双缓冲:为什么它不起作用?等等。除了许多其他的事情。它仍然闪烁,不是在每次重新绘制时,而是每秒几次。

此外,即使在 OnPaint 中删除“g.Clear(BackColor)”之后,仍然必须清除背景,因为文本继续以可读的方式滚动。

这里是我的 TickerControl 类的相关部分:

有任何想法吗?

更新:

正如sallushan 建议的手动双缓冲,让我补充一下,我之前已经尝试过,使用下面的代码。但在屏幕上它看起来与上面完全一样,所以问题似乎并不在于我的 OnPaint 方法。我想它一定在我的控件设置中的某个地方。

0 投票
1 回答
1331 浏览

c# - c# 双缓冲按钮

过去几个月我一直在做一个项目,但有一个我无法解决的问题。我有一个带有控件的 Windows 窗体。当用户更改控件大小时,应用程序会触发 sizechanged 事件,然后我相应地在其上移动控件。主要问题在于按钮,因为它们有图像 - 实际上更准确地说 - 它们是平坦的,没有边框,并且上面有一个实际上是绘制按钮的图像(我不通过代码绘制它的原因是因为图像很复杂)。在某些机器上,当应用程序调整大小时,它们开始闪烁。Form 设置为 DoubleBuffered true,我使用此函数在按钮上设置双缓冲。

有什么建议么?