当前位置:  开发笔记 > 编程语言 > 正文

轻量级C++脚本库

如何解决《轻量级C++脚本库》经验,为你挑选了2个好方法。

我目前在我的C++应用程序中使用QtScript编写脚本功能,但它在cpu上相当"重".当线程评估循环中的所有脚本时,cpu使用率增加到90%-100%.即使我每5个脚本让它睡眠1毫秒,它仍然高于75%的CPU使用率.

还有其他易于实现的脚本框架比QScript轻得多吗?

编辑:

我现在意识到这是正常的行为,而不是QtScript中的一些麻烦.听听哪种(轻量级)脚本库可用仍然很有趣.



1> Adrian Grigo..:

看看Lua,它经常在游戏中使用,因此性能必须非常好.



2> peterchen..:

那么,你期待什么?除非脚本必须等待磁盘或用户I/O,否则CPU 应该以100%运行.

问题是它运行得很长吗?

或者您的应用程序没有响应?

在这种情况下,问题是您的脚本阻塞了所有UI交互运行的线程.一般的解决方案是阻止所有UI输入("取消脚本"按钮:)除外,并将实际处理移动到单独的线程.

[edit]
略有不同的问题:CPU是否处于100%而没有要处理的脚本?

如果您正在处理某些事情,100%的CPU是好的和健康的.

CPU始终处于忙碌状态,当前线程始终消耗其运行的核心的100%."0%CPU活动"实际上意味着所有周期都花费在系统空闲线程中(属于您在任务管理器中看到的"系统空闲进程").

作为一个简单的示例:如果您有一个应用程序线程处于活动状态,并且CPU使用率为40%,并且您的任务管理器更新间隔为1秒,则在应用程序上花费400毫秒的CPU时间,在空闲线程上花费600毫秒.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有