我有一个简单的应用程序,我正在读取一些内部变量并将它们发布到菜单上的 EditControl。

这是一个代码片段

case 0:
        SetWindowText(GetDlgItem( gHWnd, IDC_PACKETID ),
                     (LPSTR)std::to_string(long long(NC->mPacketNum)).c_str());
        break;

所以那里发生了很多事情。我只是想将一个数字转换为可以在编辑对话框中显示的内容。这太慢了,我只要进入这个部分就可以从 50Hz 下降到大约 30Hz。

有什么想法可以显着加快速度吗?

最佳答案

我通过维护上次窗口更新的时间戳来解决此类问题。然后我会阻止另一次更新,除非过了一定的时间。 1/10 秒对我来说似乎很有效。性能显着提高,更新看起来仍然很顺利。

关于winapi - SetWindowText 慢,Win32 C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16627530/

10-08 23:17