Huge GC alloc in PlaySequence
Posted: Sat Jul 17, 2021 11:34 pm
Hello,
I am getting a huge GC Alloc in the PlaySequence function.
I am calling
and if I remove this code, it seems like it does not get GC Alloc at all.
Is there a way to force it to not look for ThoughtBubble?
ThoughtBubble does not have any Actor or GameObject correlate to it so no need to look for its Actor objects or any sort,
For instance, I'm not 100% sure if it's safe to comment on the part that I am highlighting below in HandleSetPanelInternally function.
I am only using actors that are going to be registered properly with DialogueActor component within the gameObject or none (stuff like Narrator or Thoughtbubble)
But,
If I can permanently just set the Panel ID for an actor without calling SetPanel(...) every time when the conversation starts, it'd be even better. (or putting [panel=4] in every dialogue line node)
I am on 2.2.14 with Unity 2019.4.27f1 LTS.
Best,
I am getting a huge GC Alloc in the PlaySequence function.
I am calling
Code: Select all
DialogueManager.PlaySequence("SetPanel(ThoughtBubble, 2);");
Is there a way to force it to not look for ThoughtBubble?
ThoughtBubble does not have any Actor or GameObject correlate to it so no need to look for its Actor objects or any sort,
For instance, I'm not 100% sure if it's safe to comment on the part that I am highlighting below in HandleSetPanelInternally function.
Code: Select all
private bool HandleSetPanelInternally(string commandName, string[] args)
{
string actorName = SequencerTools.GetParameter(args, 0);
var actorTransform = CharacterInfo.GetRegisteredActorTransform(actorName);// ?? SequencerTools.GetSubject(actorName, speaker, listener, speaker); <--- line commented part?
....
}
But,
If I can permanently just set the Panel ID for an actor without calling SetPanel(...) every time when the conversation starts, it'd be even better. (or putting [panel=4] in every dialogue line node)
I am on 2.2.14 with Unity 2019.4.27f1 LTS.
Best,