Comments (5)
I'm still nailing this down a bit, but I have made some progress here.
There seems to be a few things at play
- Some components call refresh_full_newcontent needlessly (instead of refresh_full). Newcontent is supposed to be used to scroll to the bottom of the entire thing, for when a new component is created
- There is no mechanism to actually remember and restore the scroll when not scrolling to new content.
- There is no way for a component to indicate that only itself needs a full refresh, not every other component on the entire entity.
I've fixed 1 and 2 and will have a PR up soon but 3 will be a problem.
from o3de.
note that I can repro some of this, but I can't repro the case where changing a script canvas var causes the shuffle, even on a huge entity with all sorts of stuff on it. Other things do it, things that invoke the full refresh - for example, changing material properties or LOD properties on a mesh causes the full refresh, becuase it wants to rebuild the properties grid as they may change if this happens. However, again, if we could solve (3) above it could be a lot faster.
from o3de.
A thought on why it's not full-refeshing from script graph variable changes is:
-
Maybe there's something going on when you have unused public variables with the used public variables present on a script graph component.
-
Maybe after you've done iterations on a script graph, where it's shuffling used variable references to unused, and hiding public variables made private, etc. is causing it to have lingering data that drives it to have to full load?
This is purely based on intuition though. I do know that the inspector struggles when it comes to re-referencing variable changes from graph edits. Keeping data from the old variable to the new variable and causing type errors and issues processing the variables until editor reload.
from o3de.
Well I put a breakpoint in full refresh and the only place it full refreshes is when the script is recompiled which requires editing the actual .scriptcanvas file and changing it. I can't get the tree to effect a full refresh no matter what I seem to do from the variable editor in the inspector view. However, there are plenty of OTHER components that changing any value cause it to ask for a full refresh (mesh component, material component, stuff with LODs, adding a new value...) ---- its quite possible that one of them responds to a change notify by requesting a full refresh or something weird...
I think, to start this off, I'll add a new API to ask for a component-entity update only (like, make it so you CAN, as a compnent say, "I need to refresh MY entire tree" instead of "I need to refresh THE entire tree including all other components" and use it on the common ones I spot that definitely don't need to mess with the other properties of other components.
I'll also fix the scroll issue by making it at least scroll to where it was after full rebuild.
from o3de.
Related Issues (20)
- Deferred Fog Opacity/density controls. HOT 1
- Feature Request - Toggle Mesh visibility in the Mesh Editor Component
- Assets with long paths fails to build on linux. HOT 3
- [Lua Editor] Settings aren't correctly serialized/deserialized HOT 1
- `AzToolsFramework.Tests.dir` compiles fail with `C1033: cannot open program database` HOT 3
- Feature Request: Script Canvas From Values Quaternion Node
- Cannot build point-release/23103 on Linux in release config. HOT 4
- Bug Report: Shader issues on opening editor in either DX12 or Vulkan. HOT 4
- Bug Report: Starting a full scan crashes the editor [23.10.3 point release] HOT 7
- Deprecation Notice: Legacy Asset IDs
- Prefab Visibility Bug HOT 2
- Moving prefabs with lots of parented meshes in them ends in Editor Crash. HOT 1
- Bug Report - Regular "GPU device was removed" crash when using debug button on viewfinder. HOT 5
- Unable to name, rename, move or delete assets from the Asset Browser HOT 3
- Bug Report - Animation Editor opens with Blank "Default" motion set when opening an anim graph from Inspector.
- Asset Processor does not reprocess engine dependencies with wildcards if the assets were updated. HOT 1
- Transform component changes done with Python do not persist after the level is saved HOT 3
- Animation Editor Issues: State Machine transitions not selectable, can't add nodes to node groups, 3d view is dark HOT 1
- Applications Running Natively On Meta Quest Devices Are Deadlocked
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from o3de.