使用Direct3D时使用C++而不是C#有什么好处吗?

Min*_*wth 4 c# c++ directx direct3d

使用Direct3D时使用C++而不是C#有什么好处吗?我发现C++和DirectX的教程都使用Direct3D(据我所知,它是托管的).同样,我发现的所有C#教程都是针对Direct3D的.

Direct3D是否受到管理?在这两种语言中使用D3D有什么区别吗?

Pup*_*ppy 10

DirectX完全是原生的.您可能拥有的任何印象都是完全错误的.有托管包装器,允许您从托管代码中使用DirectX.此外,DirectX被编程为可以从C++或C或类似语言访问.如果你看看SlimDX项目,他们遇到了很多问题,特别是由于资源收集,因为C#并不真正支持自动收集的非内存资源,using也不会削减芥末.此外,游戏编程可能非常耗费CPU,并且通常使用托管语言导致的额外性能损失是站不住脚的,而且几乎所有现有的支持库都是针对C或C++的.

如果你想制作一个小游戏或类似的游戏,那么就没有什么可以阻止你使用托管代码了.但是,我知道没有商业游戏真正走这条路.