0

花时间编写代码以重用 C 中的线程是否值得,或者创建和销毁它们是否便宜?

我正在渲染一些仅 CPU 的 3D 图形,而且速度很慢(看起来大约 5 fps)。我尝试使用线程来解决这个问题。使用 4 个线程,每个线程渲染一条屏幕,似乎将我的帧速率提高到非常合理和流畅的水平。我仍然担心当我让我的图形更复杂时会发生什么。通过重用我的线程而不是每帧创建和销毁它们,我会得到任何明显的速度提升吗?

编辑:我正在使用的操作系统是 Windows。

4

2 回答 2

3

由于使用 1 个线程,您可以获得大约 5 fps,大概使用 4 个线程,您可以达到 20 fps 左右?那么,如果您不保留它们,您将每秒创建和销毁 80 多个线程?线程是相当轻量级的,但我想你会开始注意到这么多开销。

于 2012-02-04T22:20:01.533 回答
1

您将消除相当多的开销和延迟,是的。TBH,我不明白为什么这么多开发人员从不断创建和销毁线程开始——它效率低下、困难并且容易出现泄漏和其他灾难。

于 2012-02-04T22:23:43.460 回答