标签: frame-rate

有什么方法可以加速Python和Pygame?

我在Pygame中写了一个简单的自上而下的RPG,我发现它很慢......虽然我不希望python或pygame匹配用C/C++或事件Byte Compiled等编译语言制作的游戏的FPS像Java一样,但目前的pygame的FPS仍然是15.我尝试渲染16色Bitmaps而不是PNG或24位图,这略微提高了速度,然后在绝望中,我将所有内容切换为黑白单色位图,使FPS达到35.但不是更多.现在根据我读过的大多数游戏开发书籍,为了让用户对游戏图形完全满意,2d游戏的FPS至少应该是40,那么有什么方法可以提高pygame的速度吗?

python performance pygame frame-rate

12
推荐指数
2
解决办法
2万
查看次数

Android前置摄像头正在录制7.5到8.0之间的视频 - setVideoFrameRate不起作用 - 三星galaxy s2

我正在尝试使用前置摄像头录制视频,以下是代码片段,我将setVideoFrameRate设置为29,但录制的视频的fps介于7.5和8之间.我需要录制视频的视频fps 29.

      recorder.setPreviewDisplay(holder.getSurface()); 
      recorder.setOnInfoListener(this); 
      recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
      recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
      recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
      recorder.setVideoFrameRate(29);
      recorder.setVideoSize(640,480);
      recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
      recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 
      recorder.setOutputFile("/sdcard/recordvideooutput.mp4"); 
      recorder.setMaxDuration(16*1000);
Run Code Online (Sandbox Code Playgroud)

video android frame-rate

12
推荐指数
1
解决办法
2265
查看次数

如何从带时间戳的图像列表中呈现视频?

我在模式后面有一个完整的图像目录<timestamp>.png,其中<timestamp>表示自第一个图像以来经过的毫秒数. input.txt包含有趣图像的列表:

file '0.png'
file '97.png'
file '178.png'
file '242.png'
file '296.png'
file '363.png'
...
Run Code Online (Sandbox Code Playgroud)

我使用ffmpeg将这些图像连接成一个视频:

ffmpeg -r 15 -f concat -i input.txt output.webm
Run Code Online (Sandbox Code Playgroud)

如何告诉ffmpeg将每个帧放在其实际位置而不是使用恒定帧速率?

ffmpeg frame-rate video-capture

12
推荐指数
2
解决办法
4986
查看次数

Java2D:XWindows事件和帧速率之间的交互

我在Linux/XWindows上的简单Java2D应用程序中遇到系统事件和窗口刷新率之间的意外交互.最好用下面的小例子来说明.

该程序创建一个小窗口,其中以不同的旋转显示半圆.图形以每秒60帧的速度更新,以产生闪烁的显示.这是通过a BufferStrategy,即通过调用其show方法来实现的.

但是,我注意到当我(a)将鼠标移到窗口上以便窗口接收鼠标悬停事件或(b)按住键盘上的键以使窗口接收键盘事件时,闪烁明显增加.

由于BufferStrategy.show()调用的速率不受这些事件的影响,可以通过控制台上的打印输出看到(它们应该始终保持在60 fps左右).然而,更快的闪烁表明显示实际更新的速率确实改变了.

在我看来,除非生成鼠标或键盘事件,否则无法实现实际的,即每秒可见的60帧.

public class Test {
    // pass the path to 'test.png' as command line parameter
    public static void main(String[] args) throws Exception {
        BufferedImage image = ImageIO.read(new File(args[0]));

        // create window
        JFrame frame = new JFrame();
        Canvas canvas = new Canvas();
        canvas.setPreferredSize(new Dimension(100, 100));
        frame.getContentPane().add(canvas);
        frame.pack();
        frame.setVisible(true);

        int fps = 0;
        long nsPerFrame = 1000000000 / 60; // 60 = target fps
        long showTime = …
Run Code Online (Sandbox Code Playgroud)

java x11 frame-rate game-development graphics2d

12
推荐指数
1
解决办法
270
查看次数

帮助在Python + Pygame中获得帧速率(fps)

我正在开发一个小卡片交换世界旅行游戏,我想象它是宝石迷阵和10天地理棋盘游戏之间的交叉.到目前为止,编码一直没问题,但帧速率非常糟糕......目前我的Core 2 Duo上的低20分.这是一个问题,因为我正在为英特尔3月的开发者竞赛创建游戏,该竞赛正好针对上网本包装动力不足的Atom处理器.

这是游戏屏幕:

alt text http://www.necessarygames.com/my_games/betraveled/betraveled-fps.png

我是Python和Pygame的新手(这是我第一次使用它们),而且很遗憾缺乏正式的CS训练......也就是说我认为可能会有很多不良做法在我的代码中,以及可以优化的A LOT.如果你们中的一些老Python手不介意看看我的代码,看看你是否找不到任何明显的优化领域,我将非常感激.

你可以在这里下载完整的源代码(Python 2.6 + Pygame 1.9):http: //www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip

编译的exe在这里:www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip

我关注的一件事是我的事件管理器,我觉得它可能有一些性能整体,而另一件事是我的渲染......我几乎只是将所有内容一直显示在屏幕上(参见渲染例程)在我的game_components.py下面); 我最近发现你应该只更新屏幕上已经发生变化的区域,但我仍然对如何完成这一点仍然模糊......这可能是一个巨大的性能问题吗?

任何想法都非常感谢!像往常一样,我很高兴通过PayPal为您提供时间和精力.

Jordan



EDIT: 感谢下面的建议,我在代码上运行了cprofile.如果有人愿意看看这个输出并让我知道什么是不可预期的,那将是很好的.



这是p.strip_dirs()的输出.sort_stats('cumulative').print_stats():

pydev debugger: starting

Sun Mar 28 04:46:16 2010    cprofile

         8383715 function calls (8264821 primitive calls) in 157.732 CPU seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000  157.732  157.732 <string>:1(<module>)
        1    0.000    0.000  157.732  157.732 main.py:47(main)
        1    0.074 …
Run Code Online (Sandbox Code Playgroud)

python performance pygame frame-rate

11
推荐指数
1
解决办法
1万
查看次数

某些手机​​的Andengine低FPS

我的游戏在大多数手机上运行良好(56 FPS),但其他游戏的运行速度约为25 FPS.在我的游戏中,我有3个粒子系统,据我所知,问题来自于此.我的问题:如果我检测到FPS低于30,那么停止产生粒子是个好主意吗?如果FPS更高,则只需正常运行.我不确定这是否会导致任何问题.还有其他解决方案吗?

java android frame-rate andengine

11
推荐指数
1
解决办法
1150
查看次数

控制OpenGL应用程序中的FPS限制

我试图找到一个可靠的方法,能够准确设置我希望我的OpenGL应用程序在屏幕上呈现多少FPS.我可以通过休眠1000/fps毫秒在某种程度上做到这一点,但这没有考虑渲染所需的时间.哪种是将fps限制在所需数量的最一致方法?

opengl 3d frame-rate

11
推荐指数
4
解决办法
1万
查看次数

CSS动画改变帧速率

查看CSS动画来替换加载轮子中的动画GIF.

这里有一个基本的例子http://jsfiddle.net/kFmY8/448/

#me {
    -webkit-animation: rotation 2s infinite linear;
}

@-webkit-keyframes rotation {
    from {-webkit-transform: rotate(0deg);}
    to   {-webkit-transform: rotate(360deg);}
}
Run Code Online (Sandbox Code Playgroud)

我想改变帧速率,这样每个周期只有12帧.这将取消动画的流动性,使其更接近于它所替代的动画GIF.

可以这样做吗?

frame-rate css3 css-animations

11
推荐指数
2
解决办法
7782
查看次数

使用Sprite Kit中的SKShapeNode表现不佳

我正在使用Sprite Kit 制作一个" Achtung die kurve ".对于不断移动的线/玩家,我正在使用A CGMutablePathRef和SKShapeNode.在更新方法中,我正在这样做

// _lineNode is an instance of SKShapeNode and path is CGMutablePathRef
CGPathAddLineToPoint(path, NULL, _xPos, _yPos);
_lineNode.path = path;
Run Code Online (Sandbox Code Playgroud)

添加到该行.更新方法还在不断更新_xPos和_yPos以使其增长.

我想我真正要问的是有另一种更有效的绘制线条的方法,因为我现在这样做的方式现在会在一段时间后(大约15-20秒)将帧速率降低太多.此时FPS不断下降,直到游戏无法播放.时间分析器告诉我这一行:_lineNode.path = path是FPS丢弃的原因.

谢谢你的帮助!非常感谢.

PS.我试图不使用SKShapeNode,因为他们似乎无法画得太好(曲线中的小孔/文物等)

截图: 线被不断绘制

frame-rate sprite-kit skshapenode

11
推荐指数
1
解决办法
4736
查看次数

java中的鼠标位置

我正在用Java开发第一人称射击游戏,我想实现鼠标移动旋转玩家的控件.但是在Java中,我只能通过使用MouseListener事件来获取鼠标坐标,因此一旦鼠标光标离开监视器边缘,坐标将停止变化,我将无法转动播放器的视图.

关于如何做的任何提示/建议?谢谢.

java frame-rate

10
推荐指数
2
解决办法
3048
查看次数