首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >痛苦缓慢的功能调用

痛苦缓慢的功能调用
EN

Stack Overflow用户
提问于 2015-03-21 09:42:06
回答 1查看 517关注 0票数 1

在Visual中使用C++时,我偶然发现了一些有趣的东西。我调用了一个函数,通过嵌套的for循环为X和Y屏幕坐标设置像素到屏幕。我发现,如果我在main()函数中执行操作,我的程序将以每秒250帧的速度运行,但是如果我将它移动到外部函数并称之为它,帧速率将降至每秒30帧。

我用一个测试程序做了一些调查,它复制了在我的程序中发生的事情。下面是我所做的事情的例子..。

如果我运行以下程序..。

代码语言:javascript
复制
void main()
{
   for (int i = 0; i < 1e9; i++) // Loop a billion times
   {
         1+1; // do something
   }
}

它运行时间为1.6秒。

但是,如果我运行以下代码,除了调用外部函数.,它做的事情完全一样.

代码语言:javascript
复制
void onePlusOne()
{
    1+1;
}

void main()
{
    for (int i = 0; i < 1e9; i++) // Loop a billion times
   {
         onePlusOne(); // call function instead
   }
}

它需要18秒才能执行。

现在,我实际上可以避免调用函数,并且在main()中只包含我需要的代码,但是它使它变得非常混乱和不可读。

请告诉我做错了什么,或者我的Visual设置设置错了什么的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-21 21:34:56

它之所以运行得如此缓慢,调用该函数是因为我让它处于调试模式。在发布方式上是一样的。这给我带来了更多的问题,比如为什么会这样,但不管怎样,谢谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29181246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档