64,282
社区成员
发帖
与我相关
我的任务
分享
这个是不是投影的转换之类的功能,感觉函数调用肯定很费时。好的接口应该支持送入批量的元素。 每次非内联的函数调用,都是要有栈操作的。这样套在2层for里,啥都不干也耗时间。 好的方法是提供一个支持stl库的接口。现在stl支持右值引用,不怕效率问题了。 vector<point> screen2map(const vector<point> & in);
screen2map 这个函数调用一次耗时多久啊?整个循环跑下来需要多久?
screen2map 我怎么感觉这个函数有问题,字面意思应该是把屏幕转换成地图,不应该是一个像素一个像素转的吧 有重载的函数吗?
局部绘制呢,不用每次都全部重来一遍,顺便看下句GUI的变化
int W= 960;
int H=540
int x,y;
QPainter painter(this);
QRgb* pixels = new QRgb[W*H];
QImage image((uchar*)pixels, W, H, QImage::Format_ARGB32);
for (i = 0; i <W; i ++)
{
for (j = 0; j < H; j ++)
{
proj->screen2map(i , j, &x, &y); // proj为第三方接口,封装的dll
pixels[x + y*H] = static_cast<QRgb>(i+x+y);
}
}
painter.drawImage(0, 0, image);