据我所知,GPU可以非常有效地将三角形转换为可以在屏幕上显示的像素数据。我想知道的是:假设我已经拥有原始像素数据并且不需要对其进行任何处理,硬件加速有什么好处,而不是直接将这些位直接打到屏幕上?鉴于在着色器上不需要进行原始到像素处理,只需从缓冲区到屏幕的原始副本,使用GPU加速blit有任何好处,因为从CPU向GPU发送数据的开销很大?谢谢!
显然,Windows Blt功能实际上尽可能使用硬件加速,因此可能会有所帮助。但是,我不明白GPU如何在不需要处理的情况下加速原始副本。据推测,由于使用SIMD和多线程,GPU可以一次复制更大的内存块,但由于CPU首先需要浪费时间将像素从CPU发送到GPU,因此不存在无论如何都会产生性能成本
要把它放到上下文中,说我只是将一个位图编码到内存中,并且需要通过从位图1复制到1来显示它,例如:没有光栅操作,是否有任何理由将数据发送到GPU,考虑到通过PCIe总线进行数据传输的开销?如果是这样,为什么?
很抱歉,如果这些问题对于那些对这些事情了解很多的人来说是微不足道的。我对图形编程很陌生,并希望在脑海中获得一个关于CPU-GPU传输成本的概念模型,以及能够以更平行的方式将像素点亮到屏幕的优势。我还很好奇GPU如何优化设备相关位图的blitting,因为它应该只是一个简单的内存到内存副本,如果不需要进行颜色转换,调整大小等等
感谢任何回答此问题的人!