Partea 3.11 Cum să accelerați compilația?
În acest material, vom vorbi despre toate metodele posibile pentru a accelera compilarea nivelului.
Puterea calculatorului
În primul rând, timpul de compilare depinde de capul procesorului și de cantitatea de RAM liberă. Cu cât frecvența și cantitatea de memorie sunt mai mult - cu atât mai bine. Dacă memoria RAM este mică, atunci memoria virtuală (fișierul SWAP) începe să fie utilizată. Cu cât unitatea hard disk transferă mai rapid datele din fișierul SWAP, cu atât mai repede compilația este finalizată.
În ceea ce privește cifrele specifice, în funcție de experiență, pentru a compila o cartelă de tip De_Inferno medie, aveți nevoie de aproximativ 384 MB de RAM. Mai bine de 512 MB. Pentru niveluri mai mari, poate fi necesară mai multă memorie. În general, cu cât aveți mai multă memorie RAM, cu atât mai rapidă va fi finalizarea compilației.
Slabire compilație din cauza lipsei de memorie
Uneori este posibil să se observe următoarea imagine: compilatia merge repede, până la 90 la sută, iar apoi părea să înfunde și fiecare surmontate% aproape ceas - acesta este un simptom clar al lipsei de RAM. În același timp, fișierul SWAP este utilizat în mod activ.
De multe ori acest caz începe de la MakeScales de operare și compilator SwapTransfers HLRAD.EXE. Corectați această situație poate fi o simplificare radicală a nivelului (reducerea dimensiunii și detaliilor) sau instalarea unei memorii suplimentare a sistemului. Alegeți din datele de la 2 opțiuni pentru capabilitățile lor. Sau, compilați-vă nivelul de la un prieten :-)
Opriți compilația din cauza lipsei de memorie
Și se întâmplă că rezultatele nu numai în memoria RAM, dar SWAP-fișier și compilatoare apoi Zoner vor fi date despre această eroare: «HLRAD.EXE nu a reușit să aloce un bloc de memorie». Ieșiți din situația pe care o cunoașteți deja: măriți memoria RAM, creșteți fișierul SWAP, reduceți cardul sau compilați-l de la un prieten :-)
Programul de compilare
Spuneți "NU" compilației prin intermediul programului Hammer sau a programelor pentru compilatoare. Dacă aveți un calculator cu putere redusă, utilizați numai fișierul * .BAT pentru a fi compilat. Nu va fi inutil să eliminați toate programele de la pornire înainte de procesul de compilare, să măriți dimensiunea fișierului swap și să reporniți și apoi să începeți compilarea.
Complexitatea nivelului
Sub cuvântul "complexitatea" nivelului, trebuie să înțelegem generalitatea dimensiunilor sale și complexitatea structurii interne. De exemplu, hărți complexe sunt destul de celebru :. De_Laguna, Cs_Shogun, De_Volare etc În unele PIII-600 cu 128 MB de memorie, aceste niveluri vor fi compilate pentru zile!
Spațiile mari deschise, o abundență de pietre, un număr mare de surse de lumină (lumină sau lumină_spot) - toate acestea sporesc semnificativ timpul de compilare. Cu toate acestea, fără optimizare, niveluri asemănătoare cu cele enumerate mai sus vor fi severe îngreunate pe orice computer pur și simplu pentru că motorul antic HL nu este capabil să facă hărți de dimensiuni similare și de o asemenea complexitate.
Pentru a accelera intr-un fel în sus mare proces niveluri de compilare este necesară, în primul rând, pentru a vopsi toate player-ul invizibil în texturi de suprafață SKY (suprafața - este acoperișurile caselor, laturile din spate a garduri și pereți, la nivel de jos), și în al doilea rând, trebuie să încerce să facă la nivelul de jos și peretele exterior plat (fără adâncituri și găuri), cel mai bine este de a face pereții și stratul inferior formează o suprafață continuă. Prima recomandare va accelera calcul greșit hartă iluminare, ca atunci când compilarea SKY texturile nu sunt pur și simplu calculate pentru iluminat; 2a recomandare este utilă în cazul în construirea unui nivel de cer în jurul valorii de prima cutie mare, în acest caz, între cer și nivelul nu vor fi anulate, ceea ce va accelera nivelul de optimizare a HLVIS.EXE compilator programului.
Surse de lumină
Încetinirea compilației determină, de asemenea, un număr mare de surse de lumină adunate una lângă alta într-un singur loc. Și dacă încă clipește sau se oprește, timpul de compilare va crește și mai mult.
Foarte intens (în direcția creșterii) viteza de compilare este afectată de numărul de texturi luminoase, adică de texturile care emit lumină. Când utilizați texturi luminoase, atunci când compilați cu compilatorul HLRAD.EXE, va exista o creștere notabilă a numărului de surse de lumină (Direct Lights). De exemplu, este posibil ca harta să utilizeze numai 15 becuri (obiecte luminoase) și câteva texturi luminoase, dar, cu toate acestea, numărul de lumini directe va fi de aproximativ 500 sau mai mult. Fără îndoială, acest lucru va încetini semnificativ compilația pe PC cu o cantitate mică de memorie RAM, deoarece Texturile luminoase consumă de câteva ori mai multă memorie decât sursele convenționale de lumină.
Accelerarea calculului iluminării
După cum probabil știți, compilația poate fi realizată prin două maniere: test cu opțiuni de economisire și cel final cu setările parametrilor pentru cel mai înalt realism. Nu ne vom repeta. Rețineți doar că atunci când compilația este incompletă, puteți seta parametrul -har pentru compilatorul HLRAD.EXE și, în același timp, eliminați parametrul -extra. Acest lucru va accelera semnificativ compilarea pe hărți mari. De asemenea, este posibil să renunțați la nivelul de iluminare eroare de calcul (HLRAD.EXE compilator) și nivelul de optimizare (HLVIS.EXE compilator), în cazul în care compilarea este într-adevăr un test.
Parametrul -cremental pentru compilatorul HLRAD.EXE poate fi util. Acest parametru în timpul primei compilații creează un fișier cu informații despre nivelul de iluminare. Mărimea fișierului depinde de mărimea nivelului, dar, în cele mai multe cazuri, este nevoie de câteva zeci de megaocteți (până la o sută și o sută cincizeci). Când se recompila cu acest parametru (-incremental), utilitățile lui Zonera vor găsi acest fișier și câteva operații de iluminare care necesită resurse. Această metodă vă permite să reduceți în mod semnificativ timpul pentru o compilare completă de niveluri mari.
NetVIS - sau compilați cu un prieten
De asemenea, scurtarea timpului de compilare va ajuta la realizarea operației de optimizare a cartelei împreună cu cealaltă. În locul compilatorului HLVIS.EXE, trebuie să utilizați NetVIS. Apoi unul dintre PC-uri, să zicem, al tău - va fi serverul și PC-ul prietenului - clientul. Dacă aveți un nivel complex, complex, timpul de compilare poate fi redus semnificativ.