标签: frame-rate

java中的鼠标位置

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

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

java frame-rate

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

在Android应用程序中进行FPS测试

Android应用程序开发人员如何为他们的应用程序测试FPS(每秒帧数)?我说的是一般应用,而不是游戏.

它可以在模拟器或手机上.

我一直在寻找这个,但还没找到方法.如果有任何开发人员可以阐明这一点,那就太好了.

testing android frame-rate

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

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

如何在ffmpeg中混合减少帧数

我试图将一些文件转换为ProRes.转换的一个相当重要的部分是:

  • 将帧数从60减少到30
  • 将每2帧混合成一个,实现更流畅的运动.(一种简单的运动模糊)

我已经尝试过该-blend命令,但它没有被识别为命令.

-i source.mp4 -r 30 -vcodec prores_ks -profile:v 0 Output.mov
Run Code Online (Sandbox Code Playgroud)

如何在ffmpeg中混合减少帧?

blending ffmpeg frame-rate frames reducing

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

循环FPS下降的可能原因?

我在opengl中编写了一个新的代码库,并且很早就遇到了一个奇怪的错误.帧率的明显波动是重复和可预测的.

我知道它与呈现的对象完全成比例.它也与屏幕大小成正比(不是视口大小,不是窗口大小,只是物理设备大小)它大致是0.2:1(低:高)帧的比例

我很好奇并将其绘制成图形,请记住窗口/上下文没有被暗示或上限. 对象计数和屏幕尺寸比较

视图完全静止,所有物体都是静止的.每个帧都完全相同.任何时候都没有给出任何意见.没有什么是基于时间的.没有垃圾收集发生.

我不明白,如果它基本上是一个帧被反复渲染可能导致如此巨大的变化?

这是程序流的伪代码

create window
load shaders
grab uniform locations
create camera
create 3 meshes // They just hold the buffers and data for a model
create x objects and pass a pointer to a random mesh // Objects hold position, rotation etc + link to mesh
while game is running
    poll window for events
    capture mouse and recalculate VP matrix if required
    for each object
        recalc MVP
        bind mesh's buffers and draw elements
    draw window //SFML …
Run Code Online (Sandbox Code Playgroud)

c++ opengl performance frame-rate cycle

10
推荐指数
1
解决办法
1136
查看次数

在Android上访问高fps相机

有一些官方支持高fps录音的手机,如Galaxy S5和S6.我试过这两个,你可以用默认的相机应用程序录制高fps视频(60甚至120 fps).(或者在S6上使用Gear VR的"直通相机"功能.)但是:当您通过标准Android API查询相机的功能时(在4.4和5.0上的S5以及5.1上的S6上尝试过它,尝试了旧的和新的所有情况下,30 fps被报告为最高可用率.这是否意味着这些手机使用私有专有API来访问高fps功能,而且没有标准方法可以访问更高的fps?这是制造商的缺点(可能会随着未来的软件版本或手机而改变)或者我只是遗漏了什么?我甚至不需要慢动作,只需高帧率相机即可实时使用,所以60 fps就足够了.

我尝试在旧相机API中查询相机fps的示例;

List<Camera.Size> a = camera.getParameters().getSupportedPreviewSizes();
List<int[]> b = camera.getParameters().getSupportedPreviewFpsRange();
int[] c = new int[2];
camera.getParameters().getPreviewFpsRange(c);
Run Code Online (Sandbox Code Playgroud)

在camera2 API中相同:

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameras = manager.getCameraIdList();
for(String camera : cameras) {
    CameraCharacteristics cc = manager.getCameraCharacteristics(camera);
    Range<Integer>[] fpsRange = cc.get(cc.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);
}
Run Code Online (Sandbox Code Playgroud)

我只得到范围:[15,15],[24,24],[10,30],[15,30],[30,30](使用旧相机API的范围更小).

在camera2 API中,我找到了一些访问高fps摄像头录制的方法:createConstrainedHighSpeedCaptureSession().但它将高速视频录制定义为"帧速率> = 120fps",因此我甚至不需要60 fps.无论如何,我查询了这个功能,但似乎S6不支持它.我试过的代码:

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameras = manager.getCameraIdList();
for(String camera : cameras) {
    CameraCharacteristics cc = manager.getCameraCharacteristics(camera);
    CameraCharacteristics.Key<int[]> aa = cc.REQUEST_AVAILABLE_CAPABILITIES;
    for (int i …
Run Code Online (Sandbox Code Playgroud)

camera android frame-rate camera2

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

使用FFmpeg录制具有未知帧率的视频

我正在使用FFmpeg录制视频,我希望它写入的帧速率至少在正确的球场.现在我采用输入声称拥有的帧速率,并使用它来设置输出视频流的帧速率(time_base).然而,这有时与我得到的实际帧速率大不相同(我看到一个流声称50 fps但以9 fps发布).

我想要做的是使用经过时间的计时器并计算我记录的帧数来计算我在完成录制时记录的实际帧速率.我似乎在我编写任何帧之前,我在AVStream中设置的帧速率在avcodec_open2中使用.如果我稍后设置它(例如在我写帧的时候),而ffplay可以播放它(抱怨时间增量位是6而不是4)其他视频播放器不能.有没有办法写入帧设置整个文件的帧速率?如果没有办法在我录制时告诉帧本身某种时间戳或帧速率会产生有效的录制文件?

ffmpeg frame-rate video-recording libavcodec libavformat

10
推荐指数
1
解决办法
798
查看次数

如何获得chrome devtools的平均FPS

我想检索测量的性能记录的平均fps.

到目前为止,我只能通过像这样悬停在帧上来获得每帧的持续时间和帧数: 在此输入图像描述

或者选择框架: 在此输入图像描述

为了获得所有帧的平均fps,我必须手动逐个求和它们,这非常不方便.


例如,Firefox devtools显示面板右上角的平均fps. 在此输入图像描述

google-chrome frame-rate google-chrome-devtools

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

在iOS屏幕上显示FPS(无需仪器)

在WWDC 2012 Session 506中,它们UILabel在应用程序中显示每秒的帧数,而无需使用附加到仪器的Core Animation分析器.我想这样做是为了方便以及让我的团队中的其他成员监控FPS,因为他们在真实场景中使用该应用程序.不幸的是,会话506不包括在WWDC '12示例代码中.

有谁知道如何做到这一点?我知道Cocos2D具有这种功能CCDirector,但他们的方法似乎特定于Cocos2D渲染的工作原理.它不必是公共API,因为我不会将此代码发送给客户.

frame-rate instruments ios

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

获取视频中每个帧的时间戳

我已经用我编写的Android 5.2应用程序从平板电脑的前置摄像头录制了几个视频.我已经为每个视频存储了以毫秒(Unix时间)为单位的开始时间戳.

不幸的是,每个视频都有不同的帧速率(范围从20到30).使用OpenCV,我可以获得每个视频的帧速率:

import cv2
video = cv2.VideoCapture(videoFile)
fps = video.get(cv2.CAP_PROP_FPS)
Run Code Online (Sandbox Code Playgroud)

这很好用,理论上我只能为视频中的每一帧添加1000/fps(由于毫秒).但这假设帧率在整个录制过程中保持稳定.我不知道是不是这样.

Python中是否有可能获得视频中每帧的时间戳(以毫秒为单位),而与帧速率无关?

python video opencv frame-rate

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