-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
Less ambitious, less rubbish 1.12 release #1248
Comments
Glad to hear you're coming back! I'm still sticking with your 1.5.2 release and fix everything myself :D. |
Wooow welcome back!!! We are so glad your coming whit 1.8 !!!! |
Sorry about the spam when I closed all the issues there. I've closed all the old issues, as I won't be doing any further work on older MC versions. |
I've added a task list with basic plans for the first preview release. Have I missed any features people depend on? I want to try to avoid adding too many features. TT ended up with a LOT of feature creep. For example, in the new version TT will not have its own profiling, as the same features will be in TickProfiler. I'll need to work on improving TickProfiler's profiling features to match what used to be in TT. |
I'm not sure if you see a solution, anyways, the chunk unloading tends to be more intense than the load once the active/ticking tile entities hit +15k in the world. They are all stored in an array list and on chunk unload they are being removed. But to keep in mind, on tick update minecraft is iterating over the list, so other collections don't make sense either. What I could think of would be to run the chunkunloading only every n ticks for all chunks together, so that it only needs to go over the list once instead of for every chunk. Anyways its all not about multi threading. Regarding the collision fix, wouldn't make sense to be kept in separated mod, or would you use multithreading for it? |
Old TT did as few operations as possible against those lists, and batched any additions/removals to them to once per tick using addAll/removeAll, which is much more efficient than separate remove calls. See TickManager.batchRemove(Tile)Entities. Added to task list.
Fair point. I had this fix in old versions of TT as it's reasonably easy and helps performance a lot. Spigot sort of did the same thing, but not as well/aggressively. It's not really threading related though. Reopened #107. The name currently isn't representative of what TT aims to do. Performance improvements, some but not all due to threading. My "NTweaks" mod is mainly a rushed stop-gap measure because I was running a server for a few friends and there were approximately infinite squid spawning, and I couldn't change dimensions more than a few times due to memory leaks. I'm surprised it's been useful for other people. New TT will be using the same style of configurable patching as used there, so any unwanted patches can be turned off. |
Sounds good. My main concern regarding the collosion fix (and entity list batch remove) was that there might be users that don't want or can't use the multi threading part but would like to use this part. Kinda like nTweaks not being part of TT or ModPatcher. |
I thought further about it and believe it would really be better if those non threading related and non critical patches would be in a separated mod. The performance impact of the collision patch and the entity list batch removes are a big improvement on their own. Especially the batch removes as those avoid the annoying lag spikes on base unload. |
What about Optifine style core/extra/ultimate (probably got the names wrong) releases? |
Like?
|
Yes, something like that.
(TickThreading-threaded really doesn't work as a name) |
Do you want something functional (giving an idea of what it does) or creative (no relation, e.g. forge, bukkit, sponge, glowstone). |
Quick status update:
Still looking for input on the name. I'll make a poll once there are enough good suggestions. PerfOverhaul - very descriptive, but also quite generic. Not sure if I like it |
Ended up working in a slightly different order. Started the work on 1.8.9 TT first, mainly by deleting lots of classes and adding a single Mixin, just to confirm that ModPatcherGradle + ModPatcher + Mixin are working correctly. Next thing to do is to add network profiling to TP. My website/jenkins/maven repo may be down for some time due to a hosting migration during the weekend. |
Nallar please make a patreon so server owners can give tribute to your greatness :) |
Hosting migration is now complete.
Maybe later, once it works. |
Status update: TickProfiler for 1.7.10 and 1.8.9 both have support for all profliing options which TT used to have, except for the After far too much faffing around with classloading (maybe 4 hours?), including ModPatcher's API only in multiple mods of mine now works without conflicts and with automatic updating. Now to start work on TT! |
Maintenance completed with no issues. |
Status update: Done some work on TT. After starting to actually use the new mixin patching, I ran into some deficiencies mainly involving generics, so more work on JavaTransformer/Mixin was needed to get that working. I won't be doing much if any work on this over the weekend, as I will be attending StrathHACK. |
Should have a testing release out by Friday evening GMT. It will not do any threading at all - only a few minor performance improvements. Goal with this is to find any compatibility issues with the new patching system. |
1.8.9 only I suppose? |
Yes |
Unfortunately I'm not able to offer testing for 1.8.9 |
@nallar Is the test release going to be out tonight? |
Ended up spending more time than expected working on a project for uni, so the testing release will probably be delayed until tomorrow. :( I want to get the variants system (optifine style multiple release types) implemented as part of the testing release. Sorry for the delay. |
@nallar Its alright, I'd rather want something that you are more conformable with releasing at the end of the day. |
@XPownage It shouldn't need any other mods. :s I think earlier failures may have left some broken files behind in your mods directory. Let's try a clean start. Delete any files with ModPatcher in their name (eg: ModPatcher.jlib or ModPatcher-core.jar). Ensure the only TT related mod in your mods directory is the latest build, (currently I've spun up a fresh install of |
I will now be targeting 1.10. Don't want to get stuck updating past versions again. |
makes sense. How is your motivation about this, do you think there will be a production ready version, like 1.4.7 had? |
We loved the 1.5.2 version, it worked like a miracle. |
@Slind14 I have a reasonable amount of motivation, but too little time. Less motivation than I used to though. :( I'm trying to do it again, but realistically it's not happening. I expect to continue to have time to keep TickProfiler up to date, but TT is probably never going to be as good as it was when I had near-infinite free time due to being 16 years old! |
Thanks for the honesty :) |
Is this still under development? By the way, you should really add a patreon. |
Dude why not TT for 1.7.10? This is where all the mods are! It would be epic if you could make it for that. At least some basic simple version. Just like old times. |
He's explained this time and time again. I suggest you do some research instead of asking a question that was asked dozens to hundreds of times before. All in all, TickThreading for MC 1.7.10 is not happening, period. |
Yes, please aim for 1.10 it's a very promising version and sustainable. Don't get caught on updating late versions of MC. |
How's the progress going Nallar, I'm super interested in this. |
I think going for 1.10.2 was a damn good idea, seems like mods are switching to 1.10.2. |
^
…On Tue, Jan 31, 2017, 11:19 AM cpypcy ***@***.***> wrote:
I think going for 1.10.2 was a damn good idea, seems like mods are
switching to 1.10.2.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1248 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF42hyIpVffDAMsBfXqR2caCXlPbay8Eks5rX18bgaJpZM4HAeXY>
.
|
Repo has been moved to a new organisation. Makes sense to not have this under my name, in case anyone else does start helping at some point. :P Discord chat: https://discordapp.com/invite/YrV3bDm |
Quick update:
|
I would wait nallar, 1.13 is a refactor and everything is changing so your mod would be completely broken by then. |
1.7.10 is still more popular than 1.10 :D Gonna be interesting to see if 1.10 is able to establish enough to be around for the long run like 1.7.10 |
Well 1.7.10 is mod Mecca, making TT for any other version is waste of time sort of, since mods don't seem to like 1.10 or 1.12 much. Once we hit final and last java version, i bet there will be mod insanity and every damn mod that is nod dead will move to that version but i don't see which version will be final java one. Still, better to have some TT than no TT. |
@cpypcy @Slind14 I'd actually disagree with that assessment at this point in time. I assembled and formatted some mod data from CurseForge to better understand the version situation.
I believe that there is a large proportion of I wrote this mainly because I was curious about the statistics and I'd heard other modders debate it before with only anecdotal information. Obviously, this is only current as of 8/17/2017, but I'd expect the balance to shift even further in 9/3/2017 Edit: |
Do not focus on older versions unless you have some magically way to
implement it easier for older versions.
…On Thu, Aug 17, 2017 at 2:46 PM, Mitchell Skaggs ***@***.***> wrote:
@cpypcy <https://github.com/cpypcy> @Slind14 <https://github.com/slind14>
I'd actually disagree with that assessment at this point in time. I
assembled and formatted some mod data from CurseForge to better understand
the version situation.
Version Pages of mods Days since last release Link to search
Total 417 N/A Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=>
1.7.X 211 1148 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A5>
1.8.X 104 617 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A4>
1.9.X 77 464 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A552>
1.10.X 141 420 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A572>
1.11.X 103 239 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A599>
1.12.X 61 14 Link
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A628>
I believe that there is a large proportion of 1.7.10 mods that have
stopped being developed since their release. To back up my statement, I
found that out of all mods with 1.7.X versions on CurseForge, only 65
pages of them have been modified *at all* since the last 1.11.X release
in December of 2016 (Link to approximate location in CurseForge list
<https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986:5&filter-sort=updated&page=65>).
This tells me that many of those mods are likely to never be updated past
1.7.X and probably have been superseded by a 1.12.X mod or abandoned.
I wrote this mainly because I was curious about the statistics and I'd
heard other modders debate it before with only anecdotal information.
Obviously, this is only current as of 8/17/2017, but I'd expect the balance
to shift even further in 1.12.X's favor in the future with more Forge
updates. Hopefully these statistics will prove to be useful to someone in
the future.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1248 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEOzKOigW0UWvaesEHike7xuTeHj34-nks5sZHVwgaJpZM4HAeXY>
.
|
I run a 1.5.2 server and as much as I would like to see a TT for 1.5.2 in
working order I'd rather see development moving forward with new versions.
If TT can recreate some of the magic it did for 1.4.2 and 1.5.2 in 1.10 and
newer. That would be heaven.
…On Thu, Aug 17, 2017 at 3:10 PM, Nicholas Tow ***@***.***> wrote:
Do not focus on older versions unless you have some magically way to
implement it easier for older versions.
On Thu, Aug 17, 2017 at 2:46 PM, Mitchell Skaggs ***@***.***
> wrote:
> @cpypcy <https://github.com/cpypcy> @Slind14 <https://github.com/slind14>
> I'd actually disagree with that assessment at this point in time. I
> assembled and formatted some mod data from CurseForge to better understand
> the version situation.
> Version Pages of mods Days since last release Link to search
> Total 417 N/A Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=>
> 1.7.X 211 1148 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A5>
> 1.8.X 104 617 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A4>
> 1.9.X 77 464 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A552>
> 1.10.X 141 420 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A572>
> 1.11.X 103 239 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A599>
> 1.12.X 61 14 Link
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986%3A628>
>
> I believe that there is a large proportion of 1.7.10 mods that have
> stopped being developed since their release. To back up my statement, I
> found that out of all mods with 1.7.X versions on CurseForge, only 65
> pages of them have been modified *at all* since the last 1.11.X release
> in December of 2016 (Link to approximate location in CurseForge list
> <https://minecraft.curseforge.com/mc-mods?filter-game-version=1738749986:5&filter-sort=updated&page=65>).
> This tells me that many of those mods are likely to never be updated past
> 1.7.X and probably have been superseded by a 1.12.X mod or abandoned.
>
> I wrote this mainly because I was curious about the statistics and I'd
> heard other modders debate it before with only anecdotal information.
> Obviously, this is only current as of 8/17/2017, but I'd expect the balance
> to shift even further in 1.12.X's favor in the future with more Forge
> updates. Hopefully these statistics will prove to be useful to someone in
> the future.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#1248 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AEOzKOigW0UWvaesEHike7xuTeHj34-nks5sZHVwgaJpZM4HAeXY>
> .
>
|
Well the latest versions really need it. We just reset an infinity normal server 2 weeks ago. It can still handle +50 players at 40ms, while Age of Engineering/Beyond.. could not even handle 20 players at <80ms during the first weekend. 1.7.10 still performs at least twice as good as 1.10 with less mods. |
I've been working on improving Mixin to support injection of code inside existing methods in a flexible way, including the insertion of return or continue statements, or the modification of local variables. This support is partially implemented, and the following example works: https://github.com/MinimallyCorrect/Mixin/blob/c55b5e464d0cdf6ffdc25de6f077aae0feccda14/src/test/java/org/minimallycorrect/mixin/internal/mixinsource/MixinSource.java The aim is to significantly reduce the work required implement new patches and to update old patches. |
hummm and where are we on this 1.12...? |
We are less ambitious but still rubbish |
Sponge just marked 1.12.2 as a LTS version. |
Tasks:
Improve performance in ModPatcher by avoiding re-transformingAvoid running the same class through transformers twice ModPatcher#10World.getPersistentChunks
performanceThe text was updated successfully, but these errors were encountered: