我是一名学生,我完全是DirectX的新手,而且几乎是3D图形的新手--一个月前我使用过three.js。但是我非常努力地使用WinApi和纯GDI,所以,也许我有一些知识。
目前,对于我的毕业论文工作,我想对红细胞的一些物理过程进行建模。我已经计算出,我将处理超过60万个血细胞,假设它们是立方体(尽管它们不是),我有60万*8=4800000个顶点。使用任何功能强大的计算机使用DirectX 12绘制该场景并将其缓存到内存中需要花费多少时间?这是真的吗?绘制我的意思是只渲染一个帧到缓冲区(甚至不是屏幕)
我知道,也许这个问题是不正确的,但我正在尝试理解我是否应该使用DirectX来达到这个目的(我不想使用OpenGL)
发布于 2020-02-29 04:35:35
DirectX 12可以以与DirectX 11完全相同的速度绘制顶点:它们都使用相同的驱动程序和硬件(假设我们谈论的是Direct3D硬件功能级别11或更好的硬件,实际上支持DirectX 12驱动程序)。
这两个API驱动相同的硬件,但不同之处在于软件如何管理它。在DirectX 11中,运行库代表应用程序处理许多细节,但在DirectX 12中,几乎所有这些都是由应用程序显式完成的。其结果是对行为的更多控制(以及更多潜在的应用程序错误)。这意味着在DirectX 12上绘图的总CPU开销可以比在DirectX 11上更低。
最终,原始图形性能取决于GPU硬件本身。
https://stackoverflow.com/questions/60431930
复制相似问题