So, seit der letzten Frage, fand ich, dass meine Lösung ist, die Textur zu duplizieren, um Referenzprobleme zu vermeiden. Allerdings frage ich:C#/XNA - RenderTarget2D.GetData(), RenderTarget2D.SetData(): ist es effizient für das Klonen von Texturen pro Frame?
Color[] color = new Color[screen.Width * screen.Height];
InputRenderTarget2D.GetData(Color);
OutputRenderTarget2D.SetData(color);
Zum einen, ist das effizient, wenn 60 Mal pro Sekunde lief? Obwohl es eine Textur setzt, bin ich performance-paranoid und möchte die Leistung anständig oder am besten halten. Wird es "deutlich erkennbare Rahmentropfen" und ähnliches verursachen?
Zweitens, wird es die Leistung steigern, dass, anstatt ein neues Farb-Array zu erstellen, ich ein recycle?
Setzen Sie das Renderziel auf OutputRenderTarget und rendern Sie dann InputRenderTarget über GPU-Rendering w/quad oder spritebatch? – Jared
... verwendet Spritebatch eine Möglichkeit auch – Jared
Richtig. Und sicher, Sie können das Quad beliebig rendern. – Ani