我试图加载位图以便在屏幕上呈现它,使用loadSurfaceFromFile来实现。 我要加载的图像是1280 * 1024,加载这些图像大约需要35毫秒。 在我看来它应该加载更快(像5毫秒) 我做错了什么?
编辑代码:
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;
答案 0 :(得分:1)
您要做的是使用多个加载程序线程隐藏加载延迟。 Here's讨论从磁盘加载纹理的性能。我自己使用了那篇文章(由Jon Watte撰写)中概述的最后一种方法,效果很好。
希望这有帮助!