-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reconfigured configuration reloads to use restarts. #1456
base: master
Are you sure you want to change the base?
Conversation
…ugin, removed project limit, removed the concept of a project maintaining an ordered list of files, and allowed treeview to see things like hidden files and files not actually in the project.
OK; so it's now pretty seamless for restarts, which is pretty cool. It's not quite as fast as the reload_module of course; but its' pretty damn close. Gonna see what I can do to make it start even faster. |
85929a7
to
6ea96d9
Compare
OK, did some profiling. Currently, on my machine, a restart, until end of first new frame takes ~180ms. Further breaking it down, it's about 100ms to restart, 80ms to draw the first frame. 35ms of that is rendering fonts into the font atlas. I have a feeling we can definitely increase the speed here. But I'll have to think about it. I want to avoid doing anything complicated like dumping the pre-compiled chunks or something, unless that can be achieved extremely easily. Will have to think about this. But as it stands, I think 180ms is perfectly acceptable. Under 100ms would be nice, and under 50ms would be magical, but as it stands, unless you're doing major graphical redraws (i.e. changing the style), the restart is basically not noticeable, and it is in fact hard to tell that you just performed a restart. |
…ransitions for initial startup, and made it so rootview is updated appropriately.
77ab343
to
6bc1338
Compare
Do not merge this until/unless #1455 is merged; this PR is based off that branch, and will be rebased as necessary, as that PR significantly decreases startup times in certain circumstances.
Exploratory.
We've had a number of issues over the years with our current system of reloading. Normally, when you reload a module, it works, sometimes. But sometimes it doesn't; depending on exactly what's being reloaded, and where.
This causes all sorts of problems with inconsistent behaviour across restarting vs. reloading.
The solution we've talked about in the past was simply doing away with reloading, and focusing on restarting. This has a number of advantages.
It also has a disadvantage or two:
detach
.IMO, the advantages by far and away outweigh the disadvantages. This PR is going to focus on making sure it all works, while proposing enhancements to restarting, so that it's as seamless and smooth as possible. WIP.