问:QML比c ++小部件更快吗?

Nya*_*uko -1 c++ performance qt qml qtwidgets

我应该制作一个qwidget并重新实现它的绘制功能,或者制作一个qml小部件并将其作为qwidget插入,以考虑性能.

dte*_*ech 6

取决于"更快"和"性能"的含义.QML提供更好的帧速率,因为它使用渲染器,最大限度地减少了昂贵的上下文切换.但与此同时,QML实例化速度要慢得多,并且使用的内存要多得多.即使您可以将QML代码编译为C++,但目前在"免费"版本中不提供此功能,仅在"专业"和"企业"许可证中可用.

但是也应该考虑开发时间,许多人认为它是最广泛的资源,并且这样做是正确的.与QtWidgets相比,当您需要具有动画,效果等的自定义UI元素时,使用QML的UI实现起来要快得多.对于标准窗口小部件和桌面应用程序,您可以使用Designer,这使得QtWidgets在这方面可与QML相媲美.