Noisiumed: arvostelu Minecraftin chunk-sukupolven optimointimodista
Opi kuinka Noisiumed-modi optimoi chunkkien luomista Minecraftissa, vähentää suorittimen kuormitusta ja parantaa pelin suorituskykyä.
Opi kuinka Noisiumed-modi optimoi chunkkien luomista Minecraftissa, vähentää suorittimen kuormitusta ja parantaa pelin suorituskykyä.
Riippuvuudet:
Lataaja: Fabric / NeoForge / Forge [TARKISTA PELISSÄ]
Minecraft-versio: 1.20.1 – 1.21.6
Uusien alueiden luomisprosessi Minecraft Java Editionissa kuormittaa merkittävästi palvelimen tai paikallisen tietokoneen keskusyksikköä. Matkustettaessa nopeasti pelimaailman halki elytran, nopeiden kuljetusmenetelmien tai maaston esirenderöintiliitännäisten avulla, palvelin ei ehdi käsitellä matemaattista melua ja luoda uusia kuutioita ajoissa. Tämä johtaa chunkkien latausviiveisiin, TPS:n (ticks per second) jyrkkään laskuun ja mikronykimiseen asiakkaassa. Noisiumed-muokkaus ratkaisee tämän ongelman tarjoamalla joukon matalan tason optimointeja Minecraftin matemaattisen melugeneraattorin algoritmeille.
Matalan tason chunkkien luonnin optimointiperiaate
Pääasiallinen hidastuminen uusia chunkkeja luotaessa liittyy laskelmiin NoiseChunkGenerator-luokassa ja sen populateNoise-metodissa. Jokaisen lohkojen luontivaiheen aikana vanilla-pelimoottori suorittaa monitasoisia turvallisuustarkistuksia, metatietojen päivityksiä ja abstraktien metodien kutsuja, jotka ovat tarpeettomia maailmataulukon alkuperäisen täytön aikana. Noisiumed käyttää Mixin-injektiojärjestelmää toteuttaakseen muutoksia suoraan lohkoruudukon rakennusprosessiin.
Suora kirjoitus chunk-osion palettiin
Modin tärkein tekninen ominaisuus on siirtyminen chunk-osion palettitallennustilan (block state palette storage) suoraan täyttöön. Sen sijaan, että kutsuttaisiin tavallisia korkean tason lohkojen sijoitusmetodeja, jotka käynnistävät naapuriolioiden päivityksiä ja suorittavat tyypin tarkistuksen, muokkaus kirjoittaa lohkojen tunnukset suoraan chunk-palettitaulukkoon. Tämä minimoi Java-muistikeon (JVM heap) toimintojen määrän ja vähentää merkittävästi suorittimen käskyjen määrää, jota tarvitaan yhden kuutiometrin pelitilan käsittelyyn.
Biomien ja tiheyden laskennan välimuistitallennus
Laskettaessa biomien rajoja ja 3D-maaston tiheyttä vanilla-generaattori toistaa matemaattiset meluoperaatiot vierekkäisille pisteille useita kertoja. Noisiumed esittelee sisäisen väliaikaisen välimuistijärjestelmän tiheysarvoille ja biomien laskentatuloksille. Siirtyessään viereiseen koordinaattiin generaattori käyttää ensin tätä paikallista välimuistia. Jos nykyisen pisteen arvo on jo laskettu aiemmin, järjestelmä ottaa valmiin tuloksen suorittamatta raskaita trigonometrisiä ja algebrallisia toimintoja uudelleen.
Monisäikeistys ja synkronointi versiossa 1.21+
Minecraft 1.21 -päivitysten ja uudempien julkaisun myötä pelin kehittäjät muuttivat merkittävästi sisäistä logiikkaa työskenneltäessä luontisäikeiden kanssa. Rinnakkainen melun laskenta johtaa kuitenkin usein säikeen lukkiutumiseen (thread locking), jossa yksi prosessi odottaa toisen laskutoimitusten valmistumista päästäkseen käsiksi jaettuihin chunk-tietoihin. Noisiumed optimoi synkronointi- ja lukitusjärjestelmän melugeneraattoritasolla. Modi pienentää kriittisten koodiosien kokoa, mikä mahdollistaa taustasuorittimen säikeiden suorittaa laskutoimituksia rinnakkain odottamatta toisiaan.
Vaikutus palvelimen suorituskykymittareihin
Muokkauksen asentamisella erilliselle palvelimelle on positiivinen vaikutus MSPT (millisekuntia per rasti) -mittareiden vakauteen pelaajien tutkiessa maailmaa aktiivisesti. CPU-kuormituksen vähentäminen uusia vyöhykkeitä luotaessa estää terävät MSPT-piikit yli kriittisen 50 millisekunnin rajan, ylläpitäen vakaata 20 TPS:ää palvelimella. Tämä on erityisen havaittavissa maailmoissa, joissa on suuri määrä mukautettuja biomeja tai muuttunut maaston korkeus.
alt: [Palvelinkonsolin loki Noisiumed-modia ladattaessa, jossa näkyvät aktivoidut Mixin-injektiot]
Vuorovaikutus optimointiekosysteemin ja luontimodien kanssa
Modi on puhtaasti palvelinpuolen optimointi (server-side), vaikka se parantaa myös suorituskykyä yksinpelissä, jossa asiakasohjelma suorittaa paikallista integroitua palvelinta. Se ei lisää uusia lohkoja, esineitä tai muutoksia maailmanluontimekaniikkaan, säilyttäen täyden yhteensopivuuden vanilla-asiakkaiden kanssa. Pelaajat voivat liittyä palvelimelle ilman, että heidän tarvitsee asentaa tätä modia tietokoneilleen.
Yhteensopivuus C2ME:n kanssa
Maailman luomisen optimointivaikutuksen maksimoimiseksi Noisiumedia suositellaan käytettäväksi yhdessä C2ME-modin (Concurrent Chunk Management Engine) kanssa. Näillä kahdella muokkauksella on eri optimointikohde, eivätkä ne ole ristiriidassa keskenään:
C2MEhallitsee globaaleja chunkkien I/O-säikeitä (I/O), jakaa luontitehtävät suorittimen ytimien kesken ja optimoi levytietojen tallennusjärjestelmän.Noisiumed optimoi suoria matemaattisia laskelmia itse melugeneraattorin sisällä sille
C2ME:ltä siirrettyjen tehtävien suorittamisen aikana.
Näiden muokkausten yhteiskäyttö mahdollistaa chunk-generaattorin suorituskyvyn merkittävän kiihdyttämisen moniydinsuorittimilla.
Yhteensopivuus grafiikkamodien ja Distant Horizonsin kanssa
Muokkaus on täysin yhteensopiva asiakaspuolen grafiikkaoptimoijien Sodium ja Lithium kanssa. Erityisen suuri suorituskyvyn lisäys on havaittavissa käytettäessä Distant Horizons -modia, joka luo yksinkertaistettuja versioita maisemasta (LOD-chunkit) valtavan välimatkan päässä pelaajasta. Koska LOD-mallien rakentaminen Distant Horizonsille vaatii nopean suuren määrän chunkkeja luomista taustalla, Noisiumedin tarjoama suorittimen kuormituksen aleneminen estää pelin pitkittyneen jäätymisen alueen alkuperäisen tutkimisen aikana.
Johtopäätös
Noisiumed-modi on erittäin kohdennettu mutta tehokas työkalu chunk-sukupolven optimointiin Minecraft Java Editionissa. Tallennuspalettiin tapahtuvan suoran kirjoituksen ja melulaskelmien älykkään välimuistiin tallentamisen ansiosta se vähentää merkittävästi keskusyksikön kuormitusta aktiivisen maailmantutkimuksen aikana tai kun karttojen esilatausliitännäisiä suoritetaan.
Se takaa sataprosenttisen vanilla-luonnin noudattamisen (seed parity), joten luotu maailma on identtinen alkuperäisen pelin kanssa ilman biomien siirtymiä tai rakenteellisia vääristymiä. Modin suurin rajoitus on, että se parantaa yksinomaan chunkin luomisen alkuvaihetta eikä vaikuta yleiseen ruudunpäivitysnopeuteen (FPS) tai pelifysiikkaan sen jälkeen, kun maailma on jo luotu ja tallennettu levylle. Tämä tekee siitä erinomaisen valinnan palvelimen omistajille ja pelaajille, jotka matkustavat aktiivisesti uusiin maihin.
Asennus
Tyypillinen asennus vie noin 5 minuuttia. Kulku on sama; vain Loader ja sopiva build vaihtuvat.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











