我正在使用 directx 11 制作一个应用程序。我首先想利用实例化,因此为了简单起见,我组织了整个管道以始终使用实例化。这意味着目前如果我想在场景中绘制单个几何体,它仍然会经过实例渲染。
我的问题是实例化会带来什么开销?一般来说,这种方法是一种不好的做法吗?如果是这样,是否存在关于如何决定何时使用实例有益、何时不有益的规则?
一个类似的问题对我没有帮助:与实例渲染相关的开销是多少?
假设我们有两个列表:
List<string> listA = new List<string>{"a", "c"};
List<string> listB = new List<string>{"a", "a", "b", "c", "d"};
Run Code Online (Sandbox Code Playgroud)
我们想从 listB 中删除 listA 中的所有重复项。
listA 应该保持不变
listB 应该留下元素 {"b", "d"}
一个明显的解决方案是使用循环进行迭代,但我想知道如何使用 System.Linq one-liner 完成此操作?
也许像...
listB.RemoveAll(x => x.Equals(??));
Run Code Online (Sandbox Code Playgroud)
或者...
listA.ForEach(key => listB.RemoveAll(x => x.Equals(key))); // cannot convert string[] to void
Run Code Online (Sandbox Code Playgroud)