我在我的3D图形项目中使用Mesa-6.2.1,它最初是Visual Studio 2008中的32位解决方案。现在,我将其转换为VS2008中的64位解决方案。当我构建Debug|x64
时, image.c 需要几分钟才能构建,但是当我在Release|x64
中构建它时, image.c 需要建设非常非常长的时间。这花了将近一个多小时。
仔细观察image.c,我看到如果我注释掉switch语句
switch (dstType) {
case GL_UNSIGNED_BYTE:
{....
[Line 127 and onwards]
在以下链接中:https://github.com/Starlink/mesa/blob/master/src/mesa/main/image.c,构建时间似乎更快,类似于Debug|x64
中所用的时间。
我不确定为什么会这样。由于它现在是64位版本,指针地址空间是两倍大,因此占用更多的缓存空间?如果有人能用64位解释我这种行为的原因,我将感激不尽。