问题标签 [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.
java - 在 Swing 中使用双缓冲区时出现 NullPointerException
在下面的代码中,我使用 doubleBuffer 来避免图像闪烁,正如我的这个问题中所建议的那样
问题是我在这一行得到了一个 nullPointerException
我这样做的方法是否正确?请帮忙。谢谢
c#-4.0 - 使用 WS_EX_COMPOSITED 激活双缓冲时 100% CPU 负载
为了阻止我的应用程序闪烁,我尝试为我的所有控件和子控件激活 DoubleBuffering。
为此,我在主窗体中添加了以下代码片段:
问题是,在 WindowsXP 中,cpu 负载几乎达到 100% 并保持不变。在 Windows7 上没有问题。
它寻找我,因为它与这个问题中的问题完全相同。C# 中是否有“简单”的解决方案?或者以不同的方式询问 -> 通常是什么导致这种行为?所以我可以在我的应用程序中找出问题所在。
更新:也许有更多信息可以帮助你们帮助我。我想要做的是在主窗体的顶部显示一个带有进度条的半透明窗体。这个“progressBarForm”在第二个线程中运行这个进度条。在 Win7 上一切正常,正如上面提到的 WinXP(.net4,激活的桌面主题)在进度条显示一次后有 100% 的 cpu 负载 - 而且实际有效负载功能需要更长的时间才能完成 - 可能是因为高 - cpu-load 由进度条完成。我应该在哪里和什么地方再次检查?一些想法?
顺便说一句:我不认为线程有问题,因为当我在主线程中显示表单并且不刷新任何内容时,结果(高 cpu 负载)是一样的......
java - 在 Java 中实现双缓冲
我有一个简单的 Java JFrame 画布。我每半秒左右更新一次屏幕上的内容,并且闪烁。我想实现双缓冲以消除闪烁,但我对 Java 还很陌生,不熟悉如何做到这一点。我找到了一些示例,但不确定如何将它们的方法实现到我的中。
以下是我现在拥有的基本设置。这不是我的确切代码 - 只是基本设置的一个示例。
感谢您朝着正确的方向努力!
opengl - 双缓冲不起作用OpenGL
我想让它成为双缓冲,但它仍然在闪烁。它基本上是 OpenNI UserTracker 示例的修改版本,它在我的计算机上运行良好,但我认为我没有删除或显着更改任何重要的 OpenGL 命令,使其运行方式不同。我在我的电脑上运行 Ubuntu 10.04。
winapi - 抑制 WM_ERASEBKGND 的正确方法是什么?
如果我需要使用双缓冲,我需要抑制WM_ERASEBKGND
消息。
我可以处理WM_ERASEBKGND
并立即返回。但是我可以将WNDCLASS
/设置为而不处理消息吗WNDCLASSEX
?这是正确的方法吗?hbrBackground
NULL
WM_ERASEBKGND
c# - 如何防止图片框图像在移动时拖尾?
你好 stackoverflow 社区。我已经尝试寻找类似的问题,但我只发现了关于闪烁的问题,这与我遇到的问题不同。
PictureBox
每当我在面板上移动它们时,我都需要帮助防止es 拖尾。我正在制作的应用程序类似于 MS Paint。当我单击 a 时,PictureBox
我可以使用以下命令单击并拖动它:
并且我没有单击的其他图片框被绘制到 DoubleBuffered 面板,使用:
出于某种原因,当我拖动PictureBox
它的背景图像时,它会拖过绘制的面板。
奇怪的是,这只发生在 Paint 事件上。如果我要制作面板的背景图像,则移动PictureBox
不会拖尾。只有当我Image
在面板上绘制 s 时才会发生这种情况。
这是一个例子
我将不胜感激任何帮助,谢谢。
我简化了代码,这样更容易理解。(拖尾效应仍然存在)
它使用这个 doubleBuffered 面板类
现在我的代码需要 3PictureBox
和 1DoubleBuffered
面板。
表格被最大化,Panel1.size = (2000, 1200);
并且PictureBox
size = (700, 700)
将每个PictureBox
es背景图像设置为随机的大细节图像。当我移动时会出现拖尾效应,pictureBox1
我每次都可以重现。
performance - 使用双缓冲画布的简单动画不流畅
我尝试使用双缓冲区来开发一个简单的 Flash 游戏来绘制动画。
重绘发生在 Event.ENTER_FRAME 被触发时。
用于双缓冲的后缓冲是 BitmapData 类型。
动画非常简单:我在后台缓冲区中绘制了一个 20x20 像素的位图,随着 x 坐标的增加,它应该从画布的左侧平滑地移动到右侧。这基本上可以正常工作,但如果你仔细观察,你会发现这个运动有很大的中断。这似乎与帧速率无关,因为它经常超过 60。平滑移动的中断对于动画来说是不可接受的,但我很确定我在双缓冲方面没有做错任何事情,所以我我害怕这可能是 Flash 播放器的问题或其他什么...如果不是这种情况,我会很欣慰
请看一下显示简单动画的 swf:
https://dl.dropbox.com/u/55967135/test.swf
(顺便说一句。当运动基于两帧之间的时间时,动画的中断也不会消失 - 现在每帧恒定 2 个像素。)
我上传了一个非常轻量级的 flash builder 项目,包括上面 swf 的整个源代码: https ://dl.dropbox.com/u/55967135/test.zip
enterFrame() 是我的类 GraphicsController 的一个方法,它处理双缓冲。它由应用程序的 enterFrame(event) 方法启动:
帮助将不胜感激
谢谢
opengl - 超过 60 fps 的 OpenGL 双缓冲
具有双缓冲的 OpenGL 应用程序如何实现超过 60 fps(显示刷新限制)?
它是否取决于驱动程序的实现,即它是使用双缓冲还是三重缓冲?
考虑下一个应用程序主循环:
如果我不使用显示 vsync 的花哨同步并且不想在显示图像时撕裂,则循环中的第二个语句是强制性的。通过这样的循环,我的 fps 与驱动程序实现相关:使用双缓冲,管道会停止,我存档大约 60 fps,而使用三重缓冲不会发生停止,我的 fps 仅取决于我的视频卡吞吐量。因此,如果需要归档高 fps opengl 应用程序,我应该在应用程序内实现三重缓冲。我对吗?
c++ - 似乎无法使用多台显示器进行双缓冲绘画
我正在尝试重新制作用 C++ 和 WinAPI 编写的 Windows 屏幕保护程序,以便在多个监视器上工作。我发现这篇文章提供了基础知识。但是当我在自己的代码中实现它时,我得到了一个奇怪的结果。看看这段代码:
绘画总是在主显示器上工作。但是当我画到辅助显示器时,我只能直接画到它的 DC。当我使用双缓冲技术(将 DIRECT_PAINT 预处理器指令注释掉)时,我只会在应该是红色的辅助监视器上看到黑屏。
我在这里附上两张截图。
第一个使用直接绘画的作品:
然后是双缓冲失败的那个:
任何想法我在这里做错了什么?
three.js - 闪烁着 collada 模型和网格
我是three.js 的新手,所以我需要一些帮助。
//加载区域
classes[0].value --- 它是区域(大约 350K 顶点)
classes[0].models[2].name --- 它是链接到 collada 模型,
three.js 里面有没有做双缓冲的工具?
如何避免闪烁?
这是屏幕截图。浏览器 Chrome v 22.0.1229.79 m