You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 27, 2023. It is now read-only.
Single-stepping in a class with many globals is pretty slow. There can easily be over a megabyte or two of encoded variable info coming from unreal on each step. This is batched up into the unlock watchlist message, but it's still very big and needs to go through several steps of translation to get from the interface to the adapter then finally to the debug client. Serializing and deserializing these large lists with hundreds of thousands of elements also takes time.
Some options:
Don't batch send all variables to the adapter, but keep them in the interface and have the adapter query the interface for needed information on-demand. Assuming the client only requests variables it wants to actually display this may be much faster it hopefully will not ask for the full expansion of complex structures. This complicates the interface and it now needs to keep track of the watches and their structure to be able to quickly locate all children of a given variable request.
Don't use TCP to communicate between the interface and adapter, but use some faster kind of IPC like shared memory.
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Single-stepping in a class with many globals is pretty slow. There can easily be over a megabyte or two of encoded variable info coming from unreal on each step. This is batched up into the unlock watchlist message, but it's still very big and needs to go through several steps of translation to get from the interface to the adapter then finally to the debug client. Serializing and deserializing these large lists with hundreds of thousands of elements also takes time.
Some options:
Don't batch send all variables to the adapter, but keep them in the interface and have the adapter query the interface for needed information on-demand. Assuming the client only requests variables it wants to actually display this may be much faster it hopefully will not ask for the full expansion of complex structures. This complicates the interface and it now needs to keep track of the watches and their structure to be able to quickly locate all children of a given variable request.
Don't use TCP to communicate between the interface and adapter, but use some faster kind of IPC like shared memory.
The text was updated successfully, but these errors were encountered: