我目前正在为使用C++(使用Juce框架)制作的某些音频应用程序设计和开发GUI。
到目前为止,我一直在使用位图图形来创建自定义的滑块和转盘,方法是使用“电影地带”样式的图像对组件进行动画处理(这意味着当用户与滑块交互时,它会触发一种方法来更改电影的偏移量-strip图片以更改组件外观)。根据原始图像的大小和“帧”的数量,CPU使用率的变化非常大。
首先,就CPU消耗而言,最有效的位图文件格式是什么?目前,我正在使用PNG图片。
其次,将 vector 图形用于这类图形组件会更有效吗?我了解位图和 vector 图形之间的主要区别,但是我还没有找到有关GUI交互方面其CPU使用率水平的任何信息。
还是CPU使用率取决于所使用的特定方法/功能/库/框架?
谢谢!
最佳答案
这些事情都可能影响它。
基于像素的图像越大,读取磁盘可能要花费一些时间。压缩类型可能需要更多时间才能解压缩。加载时, vector 可能需要更多时间来渲染。
话虽这么说,我绝对不会希望您选择的图像类型对其性能有任何影响。由于您未提供代码示例,因此很难进行推测。
通常,您希望加载图像时会发生图像的运行时成本。因此,无论何时创建图像对象。如果您到处都创建图像,那么它可能很昂贵。您的胶片带可能正在重新创建图像,而不是一次加载并缓存它们。
关于c++ - C++ GUI开发-位图与 vector 图形CPU使用率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7287434/