我正在尝试加载位图,以便在屏幕上呈现它,为此,我使用loadSurfaceFromFile。我要加载的图像是1280*1024,加载这些图像大约需要35ms。在我看来,它的加载速度应该快很多(大约5ms),我做错了什么?
编辑代码:
QueryPerformanceCounter(&liStart2);
int size = load_file_to_memory(s.c_str(),&content);
QueryPerformanceCounter(&liStop2);
QueryPerformanceCounter(&liStart);
D3DXLoadSurfaceFromFileInMemory(surface,NULL,NULL,content,size,NULL,D3DX_DEFAULT,0,NULL);
QueryPerformanceCounter(&liStop);
LONGLONG llTimeDiff = liStop.QuadPart - liStart.QuadPart;
double dftDuration = (double) llTimeDiff * 1000.0 / (double) Frequency.QuadPart;
LONGLONG llTimeDiff2 = liStop2.QuadPart - liStart2.QuadPart;
double dftDuration2 = (double) llTimeDiff2 * 1000.0 / (double) Frequency.QuadPart;
发布于 2012-09-06 21:52:23
您要做的是使用多个加载器线程隐藏加载延迟。Here's讨论了从磁盘加载纹理的性能。我自己使用了文章中概述的最后一种方法(由Jon Watte),并获得了很好的结果。
希望这能有所帮助!
https://stackoverflow.com/questions/12278772
复制相似问题