Tuki

Usein kysytyt kysymykset

Suoria vastauksia buildin koosta, fonteista, glyyfiatlaksesta ja ajonaikaisesta suorituskyvystä — jalostettu oikeista kehittäjien kysymyksistä.

Buildin koko ja jakelu

Paisuttaako UniText buildini kokoa? Mitä buildiin oikeasti päätyy?

Koko riippuu alustasta, arkkitehtuureista, karsinnasta ja pakkauksesta. Glyfiatlaksia luodaan ajon aikana. Fonttiassetit sisältävät omat tietonsa; alkuperäiset .ttf- ja .otf-tiedostot ovat vain editoriviitteitä. Natiivit sovellukset lukevat levyvälimuistia, WebGL sisällyttää tiedot koontiversioon.

Pitääkö minun säilyttää ja toimittaa .ttf-tiedostot?

Fonttiassetit sisältävät omat tietonsa; alkuperäiset .ttf- ja .otf-tiedostot ovat vain editoriviitteitä. Natiivit sovellukset lukevat levyvälimuistia, WebGL sisällyttää tiedot koontiversioon.

Pitääkö .ttf edes tuoda projektiini?

Ei. Voit rakentaa UniTextFontin mistä tahansa levylläsi sijaitsevasta .ttf-tiedostosta UniText-työkaluikkunan kautta (tiedostodialogi lukee tavut suoraan). Fontin tuominen projektiin on valinnaista.

Kuinka paljon UniText oikeasti lisää tyhjään buildiin?

Koko riippuu alustasta, arkkitehtuureista, karsinnasta ja pakkauksesta. Glyfiatlaksia luodaan ajon aikana.

Miten UniText vertautuu TextMesh Prohon CJK:n tai suurten fonttien kohdalla?

Järjestelmäfontit valitaan automaattisesti. Omat fontit ovat valinnaisia tietokoneissa ja mobiililaitteissa; WebGL käyttää määritettyjä fontteja. Uudet glyfit vaativat rasteroinnin ja siirron. Välimuistissa olevia glyfejä käytetään uudelleen muutokseen tai poistoon asti.

Voinko ladata fontteja dynaamisesti palvelimelta tai CDN:stä?

Kyllä — se on kehittäjän puolella, eikä UniText ole tiellä. Lataa fonttitavut omalla koodillasi (UnityWebRequest) ja rakenna niistä UniTextFont ajonaikaisesti funktiolla CreateFontAsset(byte[]). Karsiaksesi fontin vain tarvitsemiisi merkkeihin (subsetting) käytä UniTextin buildin aikaista työkalua. Paketissa ei ole sisäänrakennettua CDN-automaattilataajaa — se on tarkoituksella projektin vastuulla, ei moottorin.

Fontit ja järjestelmäfontit

Voiko UniText käyttää käyttöjärjestelmän järjestelmäfonttia? Mitä se maksaa muistissa ja käynnistyksessä?

Järjestelmäfontit valitaan automaattisesti. Omat fontit ovat valinnaisia tietokoneissa ja mobiililaitteissa; WebGL käyttää määritettyjä fontteja.

Tukeeko WebGL järjestelmäfontteja?

Järjestelmäfontit valitaan automaattisesti. Omat fontit ovat valinnaisia tietokoneissa ja mobiililaitteissa; WebGL käyttää määritettyjä fontteja.

Font Memory Mapping

Suuret fonttitiedostot luetaan levyltä tarpeen mukaan ilman täydellistä kopiota hallitussa muistissa. Käyttämättömät fontit pysyvät pakattuina. WebGL ja editoriin upotetut fontit käyttävät muistissa olevia tietoja. Tiedostopohjaiset fontit käyttävät muistikartoitusta.

Pikselintarkat fontit

Terävät pikselit, automaattinen ruudukon tunnistus sekä ruudukkoon kohdistetut tehosteet ja animaatio. Vektori- ja bittikarttapikselifontit jakavat tyylijärjestelmän. Pixel Grid -arvon kokonaislukukerrannaiset ovat pikselintarkkoja. Snap To Pixel Grid kohdistaa myös tehosteet ja animaation; sen poistaminen käytöstä sallii alipikseliliikkeen.

Glyyfiatlas — SDF Detail ja Tile Size

Mitä “SDF Detail” ja “Tile Size Offset” oikeastaan tekevät?

Glyyfit sijaitsevat kolmen kokoisissa ruuduissa — 64, 128, 256 — ja koko valitaan ääriviivan monimutkaisuudesta (monta segmenttiä → 128/256, yksinkertainen ääriviiva → 64). • SDF Detail on kerroin monimutkaisuusarviolle. Nosta sitä, niin jo ennestään ei-triviaali glyyfi siirtyy todennäköisemmin suurempaan ruutuun. (Aidosti yksinkertainen muoto pysyy koossa 64 — kerroin vaikuttaa vain kynnyksen ylittäviin glyyfeihin.) • Tile Size Offset on kova askel kokoportaikossa (valittu 64 + siirtymä 1 → 128; alue −2..+2).

Kumpaa näistä kahdesta kannattaa priorisoida suorituskyvyn kannalta?

Ei kumpaakaan erikseen — molemmat vain päättävät lopullisen ruudun koon, ja kustannuksen määrää yksin tuo koko. Kaksi yhdistelmää, jotka päätyvät samaan ruudun kokoon, maksavat täsmälleen saman verran. Tavoittele pienintä ruudun kokoa, joka silti antaa hyväksyttävän laadun.

Ajonaikainen suorituskyky

Milloin UniText rasteroi glyyfejä? Kopioiko se muistia joka framella?

Uudet glyfit vaativat rasteroinnin ja siirron. Välimuistissa olevia glyfejä käytetään uudelleen muutokseen tai poistoon asti.

Miksi esiintyy lyhyt nykäys, kun paljon uutta tekstiä ilmestyy kerralla?

Uudet glyfit vaativat rasteroinnin ja siirron. Välimuistissa olevia glyfejä käytetään uudelleen muutokseen tai poistoon asti.

En näe UniText-jobia Profilerissa — toimiiko monisäikeisyys todella?

Core ajoittaa tekstityön ennen renderöintiä. Työsäikeet ja Burst käsittelevät suuret tehtävät; paikalliset muutokset mitätöivät vain kyseiset vaiheet.

Heikentääkö MonoBehaviour.Update() suorituskykyä? Tarvitaanko yksi UniTextManager?

Core ajoittaa tekstityön ennen renderöintiä. Työsäikeet ja Burst käsittelevät suuret tehtävät; paikalliset muutokset mitätöivät vain kyseiset vaiheet.

Tuki ja keskustelu

Discord on ensisijainen kanava kysymyksille, avulle ja keskustelulle. Virheilmoitukset ja ominaisuusehdotukset kirjataan julkiseen vianseurantaan.

Tuki ja keskustelu: [email protected]