背景: pagelod请求一个node的图片是单线程,为了优化网络请求加载速度
方法:
1. 可以设置viewer->getDatabasePager()->setUpThreads(10,8); 设置数据分页管理调度线程数,这里设置是总计10个线程,http网络处理是8个线程,同时可以有8个线程从pagelist取出要加载的requestdata;
2. 加载一个父节点下的4个子节点是使用一个线程,这里也可以分配4个线程,每个线程处理一个节点的图片;
我的方案是在SingleKeyNodeFactory::createNode里面加载4个子节点是做了如下处理:
for(unsigned q=0; q<4; ++q)
{
TileKey child = key.createChildKey(q);
//_modelFactory->createTileModel( child, _frame, model[q] );
TestTileModelThread *p = new TestTileModelThread(q, this, child, model[q]);
DatabaseThreadList.push_back(p);
p->startThread();
}
--------------------------- TestTileModelThread类实现如下 -------------------