问题标签 [bufferstrategy]
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 - 窗口模式下的 BufferStrategy 会导致持续强烈的白屏闪烁
我根据我在 stackoverflow 上找到的大量示例将这段代码放在一起。当我运行程序时,整个屏幕剧烈闪烁。我确定我忽略了一些简单的事情,但到目前为止一直无法找到解决方案。我已经调试了几个小时,主要是在在线论坛阅读的帮助下,所以我想是时候问问观众了。
公共类屏幕扩展 JComponent {
如果需要任何其他代码,我可以提供。谢谢你的帮助,stackoverflow!
java - BufferStrategy 导致闪烁?
我是 Java 游戏编程的新手,但我的游戏遇到了问题。我正在为我在学校的班级和乐趣做这个,所以我从学校的电脑和家里的电脑转移我的代码。
最近,当我在家里运行我的程序时,窗口闪烁非常快,我不知道发生了什么。我使用缓冲策略并测试了一些值,但没有任何变化。当我在学校计算机上运行代码时,它运行良好。
我想知道我的问题是否实际上是缓冲策略,或者我的 Nvidia 显卡对我的显示器有什么影响。
我还录制了显示“闪烁”的屏幕,因此您可以在此 YouTube 视频中看到我在说什么。
这是我使用缓冲策略的游戏类。
java - 与视网膜显示器一起使用的 BufferStrategy
让我从这个小示例应用程序开始:
我的意图是让这个应用程序以视网膜分辨率画一个圆圈,但我发现,缓冲区buffstrat
的宽度与非视网膜分辨率相同。考虑到这一点,我创建了一个单独的图像来绘制圆圈,然后将其缩小。但是,这似乎也行不通。
我在这里不知所措,因为我想使用BufferStrategy
或类似的东西。现在,我目前使用自己的可变超大缓冲区形式,使用repaint()
. 事实证明,这偶尔会出现 vsync 错误,所以我想切换到缓冲区策略,但如果我在使用它时失去了视网膜支持,则不会。任何关于我如何同时完成正确的垂直同步和视网膜显示的想法将不胜感激!
java - 缓冲策略 IllegalStateException
我知道这已经被问过,但我仍然无法让它工作。
我得到Exception in thread "Thread-2" java.lang.IllegalStateException: Component must have a valid peer on the line
了我尝试制定缓冲策略的地方。我想我应该先制作框架,但我确实在制作制作缓冲区策略的线程之前调用了它。
java - 被动渲染方式
我正在构建一个简单的游戏渲染方法。我有一个像地图背景这样的静态图像,根本没有改变。我只是使用整个屏幕的 30% 来更改图形。而且我觉得没有必要一遍又一遍地渲染所有这些东西,如果它没有改变的话..
在互联网上我发现了一些关于被动渲染的东西 - 你画你需要的东西并等待......直到有东西更新......之后你更新它并再次等待。看起来这种情况的好方法。但是现在......我有一个这样的渲染方法:
这无法维持绘制和等待方法......因为背景每 1/30 秒重绘一次,所以如果你没有任何东西要绘制,你会得到黑色画布,上面什么都没有......所以你必须总是重绘每次更新的所有内容......如果我不绘制背景,缓冲区开始像地狱一样闪烁......所以我必须有一些东西来掩盖那些东西。
我在互联网上搜索并没有发现关于这种渲染类型的其他解决方案的任何内容。主动渲染的东西很多,但对于 Draw and wait 方法却一无所获。
我认为使用 BufferStrategy 是不可能做到这一点的。还有什么可以为此服务的吗?Graphics g 还有其他来源吗?在互联网上,有人将它从 Canvas 中称为 directyl,但我并没有为此运行它。还是我从错误的角度考虑它?
c# - FileStream 及其缓冲策略
我发现将 BufferedStream 与 FileStream 结合使用是没有意义的,因为它有自己的缓冲策略。然而,我想知道一件事:
此代码将一部分字节写入指定文件。在此之前,这个字节保存在内部缓冲区中,所以我知道如果我不调用 Dispose() 方法,则不会将任何内容写入文件。
现在,我的问题是:有时我们不想将所有数据放在 FileStream 的缓冲区中,假设它仅用于小写入。是否有可能将一些数据直接放入与 FileStream 关联的文件中(而不是将其更早放入内部缓冲区)?
谢谢!
java - 为什么 createBufferStrategy(3) 和 createBufferStrategy(3+x) 一样快?
据我所知,您可以将任何 int 放入 createBufferStrategy 参数中。有人告诉我,三重缓冲后缓冲速度没有明显差异。
为什么是这样?
java - 使用 JPanel 还是 Canvas 更好?
现在,我设置了一个扩展 JFrame 并实现 Runnable 的工作区。当我在 eclipse 中使用 JFrame 功能时,它实际上是这样设置的。我尝试添加一个 BufferStrategy ,但在调试控制台中出现了几个错误。
java - BufferStrategy 和图形 g
我有一个精灵表,我想在项目的 src 文件夹中使用它。这是我正在制作的一个简单游戏的一些代码。尝试使用画笔或 (g) 绘制任何内容时出现错误。你能帮我找出问题所在吗?
我有一个预先存在的背景,我想在上面绘制图像。我删除了代码,背景图像不是导致问题的原因。