小编And*_*hyn的帖子

GDIplus比例位图

您好我正在尝试更改比例GDIplus :: Bitmap并保存在内存缩放的BItmap中,我有问题.我尝试了很多不同的样本,结果是NULL.例如,我尝试使用SetResolution更改图像的分辨率,我也尝试从image-> graphic转换位图并使用构造函数GDIplus :: Bitmap scale之一,但我没有结果.例如,我尝试下一个代码:

Bitmap *bitmap = new Bitmap((int32)width, (int32)height,PixelFormat32bppARGB);
bitmap=bmp.Clone(0,0,W,H,PixelFormat32bppPARGB);
mBitmap=(void *)bitmap->Clone(0.0f,0.0f,width,height,PixelFormat32bppPARGB);
Run Code Online (Sandbox Code Playgroud)

c++ gdi+ visual-studio-2010

4
推荐指数
2
解决办法
8836
查看次数

将数据从 GPU 复制到 CPU

我正在尝试使用 C++ AMP 计算矩阵。我使用宽度和高度为 3000 x 3000 的数组,并重复计算过程 20000 次:

    //_height=_width=3000
    extent<2> ext(_height,_width);
    array<int, 2> GPU_main(ext,gpuDevice.default_view);
    array<int, 2> GPU_res(ext,gpuDevice.default_view);
    copy(_main, GPU_main);
    array_view<int,2> main(GPU_main);
    array_view<int,2> res(GPU_res);
    res.discard_data();
    number=20000;
    for(int i=0;i<number;i++)
    {
        parallel_for_each(e,[=](index<2> idx)restrict(amp)
        {
           res(idx)=main(idx)+idx[0];//not depend from calculation type
        }
    array_view<TYPE, 2>  temp=res;
    res=main;
    main=temp;
    }
    copy(main, _main);
Run Code Online (Sandbox Code Playgroud)

在计算之前,我将矩阵从主机内存复制到 GPU 内存,并创建一个array_view从 0 到 7 的代码行。

之后,我启动一个循环来计算某些操作并重复 20000 次。每次迭代我都会启动一个parallel_for_each使用 C++ AMP 进行计算的循环。

GPU计算速度非常快,但是当我将结果复制到主机时,array _main我发现这个操作需要很多时间,而且我发现如果我number从20000减少到2000,复制的时间也会减少。

为什么会出现这种情况,是同步问题吗?

c++-amp

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

标签 统计

c++ ×1

c++-amp ×1

gdi+ ×1

visual-studio-2010 ×1