webgl: Textur mit anderem Programm / Shader teilen

i hat zwei Shader, die unterschiedliche Vertexarrays und unterschiedliche einheitliche Werte verwenden, aber dieselbe Textur (Spritesheet / Atlas) verwenden. ist es ihnen möglich, die gleiche textur zu teilen (ohne dass die textur zweimal an die gpu gesendet wird)?

background: Mein Spiel hat einige schwerwiegende Leistungsprobleme auf meinem Laptop und sie scheinen mit GPU in Verbindung zu stehen. Meine aktuelle Implementierung verwendet zwei Leinwände, eine für meinen Hintergrund und eine für meinen Vordergrund. Sie werden dann für das endgültige Bild zusammengestellt (auf die dritte Leinwand zeichnen). Mein Hintergrund verwendet 4 Texturen, während mein Vordergrund ein großes Spritesheet enthält. Sowohl im Vordergrund als auch im Hintergrund wird nur ein Aufruf zum Zeichnen verwendet.

Ich hoffe, die Leistung zu verbessern, indem ich alles auf eine Leinwand zeichne und alle Texturen in einem Spritesheet kombiniere. Möglicherweise führt dies zu keiner Verbesserung. Mein Hintergrund verwendet Rauschen, um Texturen zu mischen, und es ist sehr wahrscheinlich, dass das Hauptproblem die Komplexität des Shaders ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage