我无法在OpenGl(ARB_shader_atomic_counters)中为原子计数器找到可信的性能数字。
我对最新的AMD硬件(Southern Islands及更高版本)特别感兴趣,但对于这些内容在NVIDIA或Intel硬件上的表现有更多一般见解,我们非常感谢。
我最紧迫的问题是:
如果我的着色器无条件地增加原子计数器,那么该操作需要多长时间(与增加局部变量等简单操作相比)?
如果增量是有条件的,但很有可能。与1?
如果增量是有条件的并且不太可能(通常并行的增量通常不多)。这比案例1快吗?
用例是一个工作队列。每个工作项(着色器执行)可能会导致0-4个新工作项被附加到下一轮的工作队列中。
我能找到的唯一性能数字是人们计算片段着色器执行次数并相应地着色它们的像素。他们报告称,NVIDIA硬件的性能受到巨大打击,而AMD硬件的性能与其他操作相同。后者听起来好得令人难以置信,特别是因为我无法想象如何在硬件中实现这一点。 (用于解释其背后的硬件如何工作的加分点)
如果重要:我的驱动程序是Linux上的最新Catalyst版本(据推测它们或多或少与Windows版本相同)。