C++11 使用C++;11在窗户上
我一直在使用C++11 sleep来给出视频帧之间的间隔。我一直使用的这种方法可以延长Windows上的播放时间C++11 使用C++;11在窗户上,c++11,ffmpeg,C++11,Ffmpeg,我一直在使用C++11 sleep来给出视频帧之间的间隔。我一直使用的这种方法可以延长Windows上的播放时间 #include <iostream> #include <thread> #include <sstream> int main(const int argc, const char **args) { std::stringstream sb; if(argc < 2) return 1; i
#include <iostream>
#include <thread>
#include <sstream>
int main(const int argc, const char **args)
{
std::stringstream sb;
if(argc < 2)
return 1;
int fps = 0;
sb << args[1];
sb >> fps;
if(fps <= 0)
return 1;
int i;
while(true)
{
std::chrono::high_resolution_clock::time_point start, end;
start = std::chrono::high_resolution_clock::now();
for(i=0; i<fps; ++i)
{
std::this_thread::sleep_for(std::chrono::microseconds(1000000 / fps));
}
end = std::chrono::high_resolution_clock::now();
auto c = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
std::cerr << c << std::endl;
}
return 0;
}
#包括
#包括
#包括
int main(常量int argc,常量字符**args)
{
std::stringstream sb;
如果(argc<2)
返回1;
int fps=0;
sb>fps;
if(fps)
使用计时器(像这样?)是在…上实现媒体播放器的唯一方法吗
使用高精度计时器(如链接计时器)是一个选项。另一个选项(但不好)选项是将CPU周期浪费在繁忙的等待上。在Windows上实现媒体播放器的唯一方法是好的,不,例如,我们有一个需要帧正确的自定义媒体播放器,因此根本不使用计时器/睡眠,而只依赖渲染器的同步到垂直刷新。顺便说一句,还可以看到文档中的第一句话: