我知道MPSImageHistogram,但我想自己实现算法以更好地了解Metal。但是,在尝试将像素信息累积到直方图容器中时遇到了线程同步问题,但是我不知道如何解决它。在iOS上,我认为我有很多不错的选择,包括可编程混合和线程组共享。不幸的是,这些功能在macOS上不可用。
我感谢在macOS上解决该问题的任何一般性技巧/方向,无论是线程同步还是图像直方图。
答案 0 :(得分:1)
最简单的方法可能是使用原子变量(例如atomic_uint
)和原子操作(例如atomic_fetch_add_explicit()
)来增加计数。您可能会引起很多争执,这可能会导致性能问题,但这是另一个问题。