- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 Java 并开始我的第一课/项目。在这个项目中,导师的像素在屏幕上移动并稳定剪辑,并在几秒钟内完成它在屏幕上的旅程。我的需要几分钟,每 5 秒只移动 1 个像素。我原以为 MacBook Pro 可以更好地处理 Java 图形。为了查看它是我的代码还是单元,我在 Windows 中启动时从头开始重建项目,性能明显提高。在那里,光标每秒移动 1-2 个像素;仍然不如讲师,但比 OSX 处理得更好。我想知道这是正常的还是预期的? OSX 是否只是在处理 Java 图形方面表现不佳?如果它有助于回答这个问题,我已经链接了我的代码,以及 OSX 中缓慢移动的像素和糟糕的帧速率的视频。 Fraps 显示我在 Windows 中获得平均 650 fps,OSX 端的代码输出显示它大约在 40-60 左右,具体取决于我是否有其他视频进程在进行。在视频中它大约是 45 帧,但那是因为屏幕截图将它从平均 60 帧/秒减慢了。
OSX 中的帧率示例:https://www.youtube.com/watch?v=PQ0-L4slgP4
屏幕类代码:http://pastebin.com/3ETKsY8r
游戏类代码:http://pastebin.com/NDreVB60
我在 Apple 端使用 10.7.5 下的 Eclipse Juno,在 Bootcamp 端使用 Windows 7。 MacBook 配备 4GB 内存和 2.53 Ghz Intel Core 2 Duo。
最佳答案
我在我的 MacBookPro 上运行了您的代码示例,结果比您发布的视频中的要好得多。
现在,我不是 Java 2D 图形方面的 super 专家,但观察到,由于您需要在每次迭代中一遍又一遍地重绘整个 Canvas ,以便像素移动,因此渲染过程中涉及的逻辑应该很快。此外,由于像素沿对角线移动,右侧较大的区域对您的示例没有用,因此我建议将 JFrame 设为正方形,这样可以减少重新绘制的区域。
最后,我对 Screen 类的代码做了一些更改,可以让您更快地完成操作。
package com.oblivion.rain.graphics;
public class Screen {
// Height was removed since there is no use for it
private int width;
public int[] pixels;
int time = 0;
int counter = 0;
// We need this in order to avoid the iteration in the clear method.
int previousPixel = 0;
public Screen(int width, int height) {
this.width = width;
pixels = new int[width * height]; // 50,400
}
public void clear() {
// In case the frame is a rectangle, the previousPixel
// could hold a value that is greater than the array size
// resulting in ArrayOutOfBoundsException
if (previousPixel < pixels.length) {
pixels[previousPixel] = 0;
}
}
public void render() {
counter++;
if (counter % 100 == 0) {
time++;
}
// Calculate the previousPixel index for use in the clear method
previousPixel = time + (time * width);
// Make sure we didn't exceed the array length, then set the
// array data at the calculated index
if (previousPixel < pixels.length) {
pixels[previousPixel] = 0xff00ff;
}
}
}
关于Java 在带有 OSX 的 MacBook 上的性能很糟糕,在同一台设备上的 Windows 下表现更差,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865171/
我有一个数据库,其中所有表都包含 Site 列 (char(4)) 和 PrimaryId 列 (int )。 目前所有表上的聚集索引都是这两列的组合。许多客户只有一个网站,因此在这些情况下,我认为将
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我一直在阅读有关使用 token 进行身份验证的文章。但是,我无法理解 token (JWT) 与 cookie 有何不同。两者都将存储用户信息(作为 token 中的声明),定义了持久性,并将与每个
我首先使用 keras 1.2.0 在 CPU 上运行相同的代码(具有相同的数据),然后在两种代码中运行 keras 2.0.3 . 当我使用 keras 2.0.3 获得 42 的 MSE(均方误差
我是一名优秀的程序员,十分优秀!