Administrator
Administrator
  • Mesaje: 4650
    Membru din: 07 Aug 2024, 21:53
  • Reacții: 103844
  • Mesaje utile: 45
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acest tutorial te va ajuta sa reduci timpul de încărcare (loading) al clientului Metin2 prin eliminarea unor întârzieri artificiale (Sleep) introduse în codul sursă al clientului.

    Poti astfel sa reduci cateva sute de MS sau secunde bune de incarcare cu aceasta metoda.

    De ce există acele Sleep?

    Aceste Sleep au fost introduse in sursa binary a clientului pentru:
    - a reduce utilizarea procesorului;
    - a evita blocarea completă a firului principal pe calculatoare foarte vechi;
    - a distribui încărcarea pe mai multe frame-uri.

    Pe hardware modern, ele doar încetinesc încărcarea.

    *Link download / Code:

    Deschide EterLib/ResourceManager.cpp si cauta:
    Code:
    int g_iLoadingDelayTime = 20;
    Modifica asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Etki: Config yoksa varsayılan yapay loading gecikmesi 20 ms → 1 ms.

    Deschidem client/metin2.cfg si cautam:
    Code:
    PRE_LOADING_DELAY_TIME        20
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem GameLib/AreaLoaderThread.cpp — ProcessArea si cautam:
    Code:
        m_AreaCompleteMutex.Lock();
        m_pAreaCompleteDeque.push_back(pArea);
        m_AreaCompleteMutex.Unlock();
        Sleep(g_iLoadingDelayTime);
    }
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem GameLib/AreaLoaderThread.cpp — ProcessTerrain si cautam toate:
    Code:
    Sleep(g_iLoadingDelayTime);
    (sunt vreo 10) - le stergem. Apelurile de încărcare ale fișierelor trebuie să rămână consecutive, fără pauze între ele:
    Code:
    pTerrain->LoadWaterMap(szWaterMapName);
    pTerrain->LoadHeightMap(szRawHeightFieldname);
    pTerrain->LoadAttrMap(szAttrMapName);
    pTerrain->RAW_LoadTileMap(szSplatName, true);
    pTerrain->LoadShadowTexture(szShadowTexName);
    pTerrain->LoadShadowMap(szShadowMapName);
    pTerrain->LoadMiniMapTexture(szMiniMapTexName);
    pTerrain->SetName(c_rstrAreaName.c_str());
    pTerrain->CalculateTerrainPatch();
    pTerrain->SetReady();
    // ... complete deque push ...
    Deschidem EterLib/FileLoaderThread.cpp si cautam:
    Code:
        m_CompleteMutex.Lock();
        m_pCompleteDeque.push_back(pData);
        m_CompleteMutex.Unlock();
        Sleep(g_iLoadingDelayTime);
    }
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: Alberto Rarinca, Baidu [Spider], devlimit, SCOOB și 4 vizitatori

    Discord ID copiat: