Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz VinoRosso #11 üzenetére

    Nem azért elég, mert a Windows nem zabálja el, hanem azért, mert van olyan hozzáférési mód, amikor az OS a játékok által használatba vehető területhez hozzá sem nyúl. Ilyenkor virtuális memória sincs, és az adott program kapja meg teljesen a kontrollt a memória felett.
    A memória sok esetben nem azért fogy el PC-n, mert a program igényli, hanem az OS rosszul kezeli a területek lefoglalását. Egy bizonyos idő múlva a memória marhára töredezett lesz, vagyis van egy rakás lefoglalt allokáció, és közöttük rengeteg üres terület. Ezáltal az új lefoglalásokat az eddig lefoglalt terület végére kell helyezni, ha nem férne el sehol az új allokáció. A konzolon ez például nem probléma, mert a fejlesztők az elején lefoglalják a rendelkezésre álló kapacitást, és utána az allokációt manuálisan menedzselik. Az adatblokkok kezelése szempontjából számos egyedi stratégia létezik. Az egyik, hogy az adatblokkok ugyanolyan méretűek legyenek, aminek kivitelezése sajnos nem egyszerű. Viszont ha az egyik blokk által elfoglalt memóriahelyet felszabadítja a program, akkor az új blokk pont be fog férni a helyére. A másik opció eltérő méretű blokkok esetére vonatkozik, és a lefoglalt memória elején és végén kezdődik el a blokkok beírása. A harmadik opció trükkös, de konzolon ki lehet használni, hogy az allokáció a már lefoglalt memórián belül nagyon gyors, így igen kedvező dolgokat is meg lehet tenni a gépen. Például azt, hogy az egyes blokkok között felszabadított részekre egyszerűen rátolható a következő blokk. Ezzel az a gond, hogy a pointer ilyenkor rossz címre fog mutatni, hiszen a memóriában tárolt adat konkrétan elmozdult, erre viszont be lehet építeni a programba egy mechanizmus, ami a mozgatás után korrigálja a pointereket, így azok mindig jó helyre mutatnak. Ezért elég a konzolon a kevesebb memória, mert ilyen trükkökre ad lehetőséget. PC-n ezeket nem lehet alkalmazni, mert az alkalmazás már a terület lefoglalásának közvetlen kontrollját sem kapja meg az OS-től. Tehát úgy kell játszani, ahogy az OS megköveteli, ami sok pazarlással is jár.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

Új hozzászólás Aktív témák