Reducere Drawcalls i Unity

Jesper Kondrup
Level 27 - Drooling zombie
Posts: 274
Joined: 09 Nov 2009, 13:37
Location: Cph
Contact:

Reducere Drawcalls i Unity

Unread post by Jesper Kondrup » 03 Aug 2015, 10:16

Hey, vi har en lystavle, hvor vi gerne vil kontrollere hvert enkelt lys, så vi kan lave diverse effekter og skrive diverse ting (som på billedet).
Ved i om man kan batche drawcalls på en eller anden måde? Eller må man bare leve med, at hvert lys er et drawcall.

Vi bruger et plane til hvert lys (400 lys) og de bruger alle sammen det samme materiale (et unlit materiale med en 'blob' texture).

Image

Jesper Kondrup
Level 27 - Drooling zombie
Posts: 274
Joined: 09 Nov 2009, 13:37
Location: Cph
Contact:

Re: Reducere Drawcalls i Unity

Unread post by Jesper Kondrup » 03 Aug 2015, 10:42

Vi fandt vist selv ud af det, ved at bruge .SharedMaterial -nu batcher den i hvert fald noget :)

http://docs.unity3d.com/Manual/DrawCallBatching.html

ThomasLund
Level 23 - Spider demon
Posts: 230
Joined: 16 Mar 2011, 18:28
Contact:

Re: Reducere Drawcalls i Unity

Unread post by ThomasLund » 03 Aug 2015, 21:09

Hvilken platform? Prøv at experimenter (på PC) med deferred og forward rendering paths.

Ellers hver gang man arbejder direkte med et materiale, så laves en kopi af materialet (f.eks. at justere alpha). Og for hver kopi kommer der draw calls
Full Control
Makers of Smack Boxing, Smack Hockey, Monster Ball, Electrocute, Touch Wars, Tactical Soldier, Frontline Tactics, Space Hulk, Jagged Alliance Flashback, Space Hulk Ascension

Jesper Kondrup
Level 27 - Drooling zombie
Posts: 274
Joined: 09 Nov 2009, 13:37
Location: Cph
Contact:

Re: Reducere Drawcalls i Unity

Unread post by Jesper Kondrup » 04 Aug 2015, 07:47

Hey Thomas, det er på PC.

Er det ikke kun en fordel i forhold til antal real time lys, om man skal bruge forward eller deferred rendering? Vi bruger ikke real time lys til lystavlen, men kun et materiale med en glow texture.
Men vi kan se at .SharedMaterial har fixet problemet -hver gang vi tænder for et plane på tavlen, så tæller den op under Batched.

Post Reply