让我通过这个测试程序问我的问题:
#include <iostream>
#include <chrono>
using std::chrono::nanoseconds;
using std::chrono::duration_cast;
int main(int argc, char* argv[])
{
std::cout << "resolution (nano) = " << (double) std::chrono::high_resolution_clock::period::num
/ std::chrono::high_resolution_clock::period::den * 1000 * 1000 * 1000 << std::endl;
auto t1 = std::chrono::high_resolution_clock::now();
std::cout << "how much nanoseconds std::cout takes?" << std::endl;
auto t2 = std::chrono::high_resolution_clock::now();
auto diff = t2-t1;
nanoseconds ns = duration_cast<nanoseconds>(diff);
std::cout << "std::cout takes " << ns.count() << " nanoseconds" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我机器上的输出:
分辨率(纳米)= 100
std :: cout需要多少纳秒? …
我是c#编程的初学者,我只是做一个乒乓球游戏.我正在使用线程 - 一个用于碰撞,一个用于移动,一个用于绘制.
我的问题是为什么程序运行得更快,当我打开蒸汽时:D对我来说这似乎是一个废话.我的意思是慢一点 - 球速度较慢而且垫也是如此.看起来处理器懒得去做这样的工作.这是实时发生的 - 我打开游戏,它很慢,我打开蒸汽,它更快,然后我关闭蒸汽,它再次缓慢.
我的第一个想法是,因为双显卡但使用nvidia卡无济于事.
另一种情况:我打开游戏 - 慢,打开Skype - 游戏更快,Skype加载 - 游戏速度慢,关闭Skype - 游戏速度快,关闭Skype - 游戏速度慢..
如何使游戏使用处理器始终相同?
我的代码我移动方法是
public void move()
{
DelegateSetScore d = new DelegateSetScore(SetScore);
while (!isDisposing)
{
pad1.Y = pad1.Y + 4 * pad1Down + 4 * pad1Up;
if (pad1.Y < 0) { pad1.Y = 0; }
if (pad1.Y + pad1.Height > HEIGHT) { pad1.Y = HEIGHT - pad1.Height; }
pad2.Y = pad2.Y + 4 * pad2Down + 4 * pad2Up;
if (pad2.Y …Run Code Online (Sandbox Code Playgroud) 我是新手使用Thrust,有一件事我不明白.Thrust是异步还是同步?
如果我写下面的代码,所用的时间不是0.但在其他标签中,其他用户报告的结果0.真相是什么?
clock_t start,end;
start=clock();
thrust::sort_by_key(vettore.begin(), vettore.end(), counter.begin());
end=clock();
double time=((double)(end-start))/CLOCKS_PER_SEC;
cout<<"execution time"<<time<<endl;// the result is 0.327
Run Code Online (Sandbox Code Playgroud) 我正在尝试用C++编写的代码.我有一个内部和外部循环,我想分开时间,但同时.由于某种原因,当我这样做时,其中一个实例返回1.84467e + 13并且总是这个确切的数字.
为什么会这样?
这是一个在我的机器上复制效果的最小工作示例:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
long int i, j;
clock_t start, finish, tick, tock;
double a = 0.0;
double adding_time, runtime;
start = clock();
for(i=0; i<10; i++)
{
a=0.0;
tick =clock();
for(j=0; j<10000000; j++)
{
a+=1;
}
tock= clock();
adding_time = (double)(tick - tock)/CLOCKS_PER_SEC;
cout << "Computation time:" << adding_time << endl;
}
finish = clock();
runtime = (double)(finish - start)/CLOCKS_PER_SEC;
cout << "Total computation time:" << runtime …Run Code Online (Sandbox Code Playgroud)