可执行文件编译VS 2015比2013慢得多
executable compiled with VS 2015 much slower than with 2013
我正在使用SDL2编写一个图形应用程序。我在VS 2013中开始这个项目,它以大约30帧/秒的速度运行。现在在VS 2015中使用完全相同的代码,我只能得到8 - 10 fps。
为了确保这不是由于将解决方案移动到较新的IDE版本而引起的,我创建了一个全新的项目,并且只复制了源文件。我甚至在VS 2015中编译了SDL库,但仍然慢得多。
我能做些什么来获得更好的性能还是我必须使用VS 2013?
您是在比较调试版本还是发布版本?假设您正在比较发布版本,最可能的解释是VS2013和VS2015之间不同的编译器优化设置。Visual Studio有相当多的编译器标志会影响性能。查看项目的属性页,特别是Configuration Properties -> C/C++ -> Optimization
下的选项,看看是否存在差异。确保您正在比较相同配置的属性(Release vs. Debug)。
如果你发现调试构建要慢得多,可能在VS2015解决方案中启用了额外的安全/调试检查,而这些检查在VS2013下没有启用。比较Configuration Properties -> C/C++
下的其他设置,看看是否可以识别出任何差异。
相关文章:
- 在Visual Studio 2013中编译的STL列表代码在Visual Studio 2019中给出了错误.想知道原
- 使用 Visual Studio 2013 编译 GDCM dlls 2.8.4 for Windows
- 如何在Visual Studio 2013中编译.h和.hpp
- 如果使用 Visual C++ 编译器 2013 年 11 月 CTP,是否还需要使用它编译所有依赖项
- 与Visual Studio 2013编译的EXE文件分发
- C Visual Studio 2013编译错误
- 在 Visual Studio 2013 中编译静态库
- 在使用 Visual Studio 2013 64 位编译器编译的 CMake 项目中使用 ttmath
- 为什么允许在Visual Studio 2013下编译此代码
- Visual Studio 2013 编译严格的 c++11
- VS 2013模板无法编译
- 在Visual Studio 2013下编译SDL 2.0.0/2.0.1源代码时出现问题
- 如何在Visual Studio 2013的C++项目中编译和链接谷歌测试,但使用NuGet Package Manag
- 在Visual Studio 2013中编译FFMPEG
- 尝试在Visual Studio 2013中使用sqlite3_open进行编译时出错
- 从Windows上的Visual Studio 2013到Ubuntu的C++OpenCV交叉编译
- Visual studio 2013编译错误
- 用VC 2013编译Protobufs和Libyara
- 从MVS 2013编译带有OMIT选项的cl.exe时,sqlite3错误
- 使用Visual Studio 2013编译Qt 5.4.1时出现的问题