问题标签 [flicker]
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.
vb.net - 更改面板中的图像时减少闪烁
如何减少 vb2005 面板中的闪烁?在父面板中,我正在使用另外 2 个面板。
最外面的面板包含一个背景精灵,两个最里面的面板是叠加层,它们会改变以适应背景精灵中的位置。
当我更改覆盖精灵时,我想减少闪烁并使其从一个精灵平滑过渡到下一个精灵。
这是更改覆盖面板中图像的代码,如果新值与旧值相同,则覆盖面板不会更改
c++ - 带有 Alpha 通道的闪烁子窗口
当绘制包含具有每像素 Alpha 通道的位图的子控件时,每当需要重绘它们时,我们就会得到相当多的闪烁。实际的混合工作正常。我找到了很多关于减少闪烁的信息(例如这个问题或这个网站),但我似乎找不到任何特别适用于这种情况的信息。
例如,我有一个带有几个不同位图的按钮,这些位图根据按钮的状态进行了 alpha 混合和 blitted 到窗口。当它们的状态发生变化并且我需要绘制不同的位图时,我需要先重新绘制背景,否则它会与前一个状态位图留下的像素混合。这是我得到一些闪烁的地方,我偶尔会得到一些背景撕裂。
让顶级父窗口绘制位图背景而不是纯色,以及让子控件重叠的可能性使问题变得更加复杂;只是将基础颜色乘以孩子的位图是不可能的,就像使用WS_CLIPCHILDREN
.
由于窗口有位图背景,我将返回true
,WM_ERASEBKGND
以避免绘制将被覆盖的颜色。
当然,双缓冲似乎可以解决所有这些问题,但我无法让它正常工作。我已经WS_COMPOSITED
为顶级窗口和WS_TRANSPARENT
子窗口设置了。当需要使用新位图重绘子窗口时,我遇到了一些问题(很可能是我不理解在这种情况下绘制顺序是如何工作的):
- 如果我调用
InvalidateRect()
并传递子句柄,子窗口确实被重绘,但背景没有被重绘,因此像素相互叠加,混合在一起。 - 如果我调用
InvalidateRect()
并传入父句柄,矩形由子窗口的尺寸组成,则背景会被重绘,但子窗口不会。 - 如果我同时执行上述两项操作,那么背景和子窗口都会被重绘,它看起来完全符合我的要求——除了这样做,我设法让它再次闪烁(这不是这并不令人惊讶,因为这样调用两次似乎非常骇人听闻
InvalidateRect()
,因为我猜每次调用都可能导致缓冲区翻转,这违背了目的)。
我得出的结论是,我真的不明白我需要如何修改我的程序来处理双缓冲,或者双缓冲是否有助于解决这种情况。我觉得它肯定会,但我不太明白我需要如何修改东西才能让所有东西再次正常播放。
.net - Javascript 图像更改导致嵌入的用户控件闪烁
我在 IE 中显示了一个 html 页面。它有一些由 JavaScript 中带有鼠标悬停/鼠标退出事件的图像组成的按钮,以及一堆嵌入式 .Net 用户控件。
当 mouseover/mouseout 事件触发时,我将图像 src 更改为其他内容(简单的翻转效果)。问题是用户控件经常(但不总是)在发生这种情况时闪烁。
需要明确的是,图像不会闪烁,页面的其余部分也不会闪烁,只是嵌入的控件。这个页面是本地的,不是来自服务器或任何东西。
那么,有什么想法吗?
更多信息:我注意到突出显示文本也可以...
gnu - GNU 屏幕刷新问题
我最近开始使用 GNU Screen,但遇到了一个非常烦人的问题。
在任何屏幕窗口中,如果在提示符处没有输入任何内容时按左箭头键或退格键,屏幕似乎会刷新,导致轻微闪烁。在提示符处键入一些文本后,使用退格键或向左箭头不会导致闪烁(至少在到达提示符中的第一个字符之前)。
有人见过这个吗?
activex - activex 控件上的 IE 严格模式闪烁
我有一个网页,其中包含(除其他外)几个嵌入的 activex 控件。它只在 IE 中呈现,并且处于严格模式。如果我突出显示页面中的任何文本(或使用 onmouseover 事件翻转图像以更改其图像或其他任何内容),所有控件都会可怕地闪烁。
如果我将页面更改为怪癖模式,闪烁就会消失。我进行了广泛的搜索以寻找解决方案,并发现了很多关于 IE 6 是如何被破坏和奇怪的东西,但这发生在 IE 7 和 8 中。
那么,关于我可以做些什么来解决和/或诊断这个问题的任何想法?
javascript - Firefox 闪烁错误
减小文档大小时导致Firefox闪烁的错误是否有任何解决方法?
单击此处查看 quirks 模式下的演示(无 DOCTYPE)
我敢打赌它可以使用 javascript 修复——每当滚动条缩小时,确保向上滚动窗口以防止闪烁或其他什么......想法?
更新:在怪癖模式下,该错误似乎不存在(或至少不那么严重)
vb.net - 防止事件期间屏幕闪烁
嘿伙计们,我知道在 vb 的原始版本(如在 excel 中找到)中,您可以插入一行以防止屏幕在尝试处理某些内容时来回闪烁。
应用程序.screenupdating = false
我目前在 Visual Studio 2008 中使用 vb.net,但我想知道是否有人知道这个版本的等价物。它在使用 vb.net 的 VS 2008 中无法识别此调用。任何帮助,将不胜感激!提前谢谢各位!
.net - 如何防止 Windows 窗体文本框在调整大小时闪烁?
有很多文章解决了 Windows 窗体中的闪烁问题。大多数人建议设置DoubleBuffered = true
或设置一堆ControlStyle
标志。但是,这些都不能帮助减少 TextBox 闪烁。
这里有几个相关的问题:
要重现此问题,请创建一个新的 WinForms 项目,添加一个TextBox
,启用多行,禁用自动换行,添加一堆文本,设置Anchor
为 Left+Right+Top+Bottom。现在运行并调整大小。文字闪烁。对于几个嵌套TableLayoutPanel
s 内的文本框,调整大小时的闪烁甚至更糟。
应用上述问题中提出的解决方案充其量不会解决闪烁问题;如果我进行实验并设置保护ControlStyle
,TextBox
我可以完全打破它(通过启用UserPaint
)但不能消除闪烁。
那么,有什么办法可以修复TextBox中文本的闪烁问题吗?
flash - as3 - 放大按钮或影片剪辑时控制闪烁
这是我经常遇到但似乎从未找到好的解决方案的情况。我有在翻转时稍微放大的动画剪辑,但如果您将鼠标悬停在动画剪辑的边缘,它就会停在那里并闪烁,不断接收 mouseOver 和 mouseOut 事件。你如何处理这个问题?同样,在补间动画剪辑或按钮的比例时通常会出现问题。
windows - 为什么 OS X 没有与 Windows 相同的闪烁问题?
我正在阅读 Larry Osterman 关于调试 Windows Vista/7 音量控制中闪烁问题的最新博客文章,我突然意识到我不记得曾经在我的 OS X 笔记本电脑上看到过应用程序闪烁。根据我的经验,即使是看起来写得很糟糕的应用程序也能避免闪烁问题。如果没有这变成 Apple 与 Windows 的辩论(请),为什么 OS X 应用程序似乎没有同样的闪烁问题?
我很难相信 Apple 开发人员在编写无闪烁 GUI 方面简直令人惊叹,而 Windows 程序员却很糟糕,那么原因是什么?OS X API 是否需要所有 GUI 来实现双缓冲?虽然一些应用程序的双缓冲调整大小行为稍显迟缓,但许多应用程序没有,而且它们仍然避免闪烁。OS X 重绘流程是否与 Windows 有根本的不同,WM_ERASEBKGRND
完全避免了这个问题?或者还有其他一些我没有看到的可能性?
更新:感谢您的回答。我希望我可以同时选择 ken 和 cb160 的答案,因为它们都很有帮助。