相关疑难解决方法(0)

std :: chrono :: high_resolution_clock的分辨率与测量值不对应

让我通过这个测试程序问我的问题:

#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++ c++11 c++-chrono visual-studio-2012

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

打开STEAM时pingpong游戏运行得更快 - 为什么?

我是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)

c# multithreading

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

Thrust是同步还是异步?

我是新手使用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)

cuda thrust

5
推荐指数
1
解决办法
1646
查看次数

为什么clock()返回1.84467e + 13?

我正在尝试用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)

c++ timing clock

5
推荐指数
1
解决办法
279
查看次数