¿Donde has visto eso?Mirmidonhace 8 añosDespués de mucho probar por que me iba tan mal el Golfo Pérsico cuando desde que salió el Update 2 de la 2.5.2 me iba estupendamente he estado haciendo pruebas y en mi caso la única diferencia era el mod de Mustang para el Golfo Pérsico.
Lo he estado mirando, especialmente el archivo terrainoptions41.lua y normal que me fuera como el culo desde que lo metí.
Por defecto este archivo gestiona las texturas de todos los mapas a 1024x32 y en general se ve bastante bien, sobre todo con el Mod de Mustang del Cáucaso. Pues bien, con el mod del Golfo Pérsico que añade archivos tipo noise modificados para un detalle y nitidez muy buenos en Ormuz, le ha metido un terrainoptions41.lua editado y para mi sorpresa le ha puesto las texturas a 8096x512 ¡¡¡¡¡
:o :o :o :o
Ha multiplicado por cuatro el valor por defecto.
La consecuencia es que se come los recursos de memoria del equipo más potente. No os digo nada de equipos mas modestos como el mío. Se puede ver como la memoria virtual que por defecto en mi caso en el Golfo está en torno a 14.500 megas, pasa a 19.000 ¡¡¡¡ Es una barbaridad y es, al menos en mi caso, el culpable del mal rendimiento, parones y tirones que estaba teniendo.
Simplemente es imposible para mi equipo y supongo que para el de muchos con equipos medios-bajos, mover las texturas a 8096x512 cuando por defecto están a 1024x32.
Si alguien ha notado que le va mal como a mi y tenía metido el mod de Mustang del Golfo ( NO EL DEL CAUCASO QUE VA DE LUJO ), que pruebe a quitarlo y dejar el terrainoptions41.lua por defecto y quitar la carpeta Noises.
Ahora mismo vuelve todo a la normalidad y estoy volando en el Golfo muy estable, sin tirones y con muy buenos FPS otra vez. Y si, el terreno no se ve tan espectacular pero sigue siendo muy bueno. ;)
Yo en mi terrainoptions41.lua no veo nada de 8096x512.
Si que veo muchas referencias a texturas con 4096x128 y a mi me va bien y se ve de escandalo, la verdad.
¿Tienes la ultima version?
Te dejo aqui el mio para que veas como lo tengo yo y me digas si esta bien o mal ;)
SpoileruseTerrainShaderCache = 01;
options =
{
initItemsCount = 200; -- начальное число элементов в слое
maxSuperficialsPerFrame = 4;
vehiclesDecimation = 1;
flatShadowsLayerInFinalColorPass = 13;
}
grass =
{
grassType = 2; -- 0 - off, 1 - procedure grass1, 2 - procedure grass2
}
function surface5_transition_distance(near, far)
return near + (far - near) * 2.0 / 3.0;
end
distances =
{
commonFactor = 1;
surfaceLevel0 = 30000.0;
surfaceLevel1 = 40000.0;
surfaceLod =
{
{0, 0, 2000, 4000};
{4000, 4000, surface5_transition_distance(4000, 8000), 8000};
{8000, 8000, surface5_transition_distance(8000, 16000), 16000};
{16000, 16000, 50000, 150000};
};
uniqueScene = 20000.0;
details = {256, 512, 1024, 2048, 4096, 4096, 16384, 16384, 16384, 16384, 16384, 16384, 16384};
vehicles = 2000;
instancerFactor = 1;
wireMaxDistance = 900;
uniqueSceneAdaptive =
{
enable = false;
minimalSquareOnScreen = 50;
minimalSquareOnScreenFull = 100;
};
block =
{
-- Дальность в метрах с которой вместо edm начинает рендерится нулевой лод домиков
lod0 = 200.0;
-- Дальность в метрах с которой вместо нулевого лода начинает рендерится первый лод
lod1 = 600.0;
-- Дальность в метрах с которой домики начинают блендится с землей и сплющиваться
blend = 2000.0;
-- Дальность в метрах дальше которой кварталы не рендерятся
far = 2010.0;
};
}
lights =
{
lampsScale = 1;
}
gpuCounters =
{
-- counterName -> queue, layers
{"surfaceLevel0", "surface", ""},
-- details
{"details", "computeinstancer", ""},
-- buildings
{"buildings", "flat_shadows_opaque", ""},
{"buildings", "opaque", ""},
{"buildings", "reflectionmap", ""},
{"buildings", "lights", ""},
}
_fullFrameTime = 16.6
gpuTimeLimits =
{
type = ""; -- "separate", "summary"
surfaceLevel0 = 9;
buildings = 9;
details = 9;
degradateThreshold = _fullFrameTime*0.6;
strongThreshold = _fullFrameTime*0.8;
achtungThreshold = _fullFrameTime*0.9;
upStep = 2/128;
downStep = 3/128;
plotGraphics = false;
}
weather =
{
useWindFromConfig = false;
windDirection = {1, 1};
windSpeed = 5;
}
-- Параметры текстур клипмапов
updatesClipmapPerFrame = 20
clipmapsForcedRGBA = false
clipmaptextures =
{
colortexture =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
source =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
normalmap =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
shadowmap =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
lightsmap =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
splatmap =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
splatmap2 =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
ramp =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
tilemap =
{
textureSize = 4096,
updateStep = 128,
updatesPerFrame = updatesClipmapPerFrame,
forcedRGBA = clipmapsForcedRGBA,
},
}
waves =
{
waveMaxWindValue = 20; -- значение ветра больше которой значения принимаются = highWind
lowWind =
{
waveLength = 2; -- Длина волны (м)
waveSpeed = 0.3; -- скорость волны м/с
wavePowerX = 0.2; -- число волн в продольном направлении (0-1)
wavePowerY = 0.2; -- число волн в поперечном направлении (0-1)
waveHeight = 0.5; -- высота волны
};
highWind =
{
waveLength = 60;
waveSpeed = 4;
wavePowerX = 1;
wavePowerY = 0.6;
waveHeight = 5;
};
}
hiddensemantics = {
-- "Sea",
-- "Lake",
-- "Island",
-- "Land",
-- "Field",
-- "Beach",
-- "Plant",
-- "Town",
-- "River",
-- "Channel",
-- "Road",
-- "Rail",
-- "Runway",
-- "Building",
-- "ELT",
-- "Isoline",
-- "SmallShit",
-- "Forest",
-- "Grass",
-- "Stone",
-- "Trees",
-- "Lamp",
-- "Line",
-- "MGRS",
-- "Shelf",
-- "SurfaceDetails",
-- "Undef",
-- "Rock",
};
hiddenqueuelayers = {
-- {"compute", 0, 1, 2, 3, 9},
-- {"surface", 1, 2, 3, 4, 5, 6, 7},
-- {"opaque", 100, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17},
};
hiddenlayer = {
-- 0,
-- 1,
-- 2,
-- 3,
-- 4,
-- 5,
-- 6,
-- 18,
-- 19, -- flat_shadows
-- 20, -- houses
-- 21, -- trees
-- 22, -- pole
-- 23, -- lights
-- 24
};
hiddenlevels = {
-- 0,
-- 1,
-- 2,
-- 3,
};
hiddenqueues = {
-- "farsurface",
-- "surface",
-- "flatshadows",
-- "opaque",
-- "transparent",
-- "lights",
-- "shelf",
-- "waves",
-- "compute",
-- "heightmap",
-- "reflectionmap",
};
hiddenLibraries = {
-- "vehicles.ref",
};
viewOnlyLibraries = {
-- "vehicles.ref",
};
hiddenFiles =
{
-- "CaucasusChecker.tile",
};
instancer =
{
bufferSize = 30000;
checkBufferSize = false;
multiAppendBufferSize = 400000;
parentBufferSize = 20000;
childsBufferSize = 100000;
vertexInstancer = true;
geometryReference = true;
-- debugMode = 2+16;
-- checkreference = "blackgum_rt";
-- checkreference = "blackgum_rt_100<150<300<400";
-- checkreference = "blackgum_rt_100<150<4000<5000";
-- checkreference = "blacktree_rt_-1<0<200<300";
-- checkreference = "blacktree_rt_100<200<500<1000";
-- checkreference = "blacktree_rt_400<500<3000<5000";
-- checkreference = "cirlypalm_rt_-1<0<200<400";
-- checkreference = "cirlypalm_rt_200<300<700<1000";
-- checkreference = "cirlypalm_rt_600<700<3000<5000";
-- checkreference = "datepalm_rt_-1<0<300<500";
-- checkreference = "datepalm_rt_200<300<700<1000";
-- checkreference = "datepalm_rt_600<700<3000<5000";
-- checkreference = "fraserfir_rt_-1<0<200<400";
-- checkreference = "fraserfir_rt_100<200<500<1000";
-- checkreference = "fraserfir_rt_400<500<3000<5000";
-- checkreference = "greenash_rt_-1<0<200<400";
-- checkreference = "greenash_rt_100<200<500<1000";
-- checkreference = "greenash_rt_0<100<200<300";
-- checkreference = "shrub_rt_0<0<30<40";
-- checkreference = "shrub_rt_20<30<90<100";
-- checkreference = "shrub_rt_80<90<300<400";
-- checkreference = "shrub1_-1<0<180<190";
-- checkreference = "shrub1_170<180<280<300";
-- checkreference = "shrub1_280<290<550<600";
}
clipmap =
{
loggingEnabled = false;
maxUpdatePerFrame = 100;
interlaced = 3;
-- updateToGPU = 3;
-- updateToGPU = 8;
updateToGPU = 15;
updateFlagsToGPU = true;
-- colorTextureAlias = "source";
}
debug =
{
useParseContext = 0;
dumpFilteredByCondition = 0;
dumpFilteredByNeedRender = 0;
dumpFilteredByHidden = 0;
dumpInstancedObjects = 0;
loggingParse = 0;
switchoffDrawTerrainObject = 0;
switchoffRenderTerrainObject = 0;
switchoffEdm = 0;
switchoffFetchSurface = 0;
switchoffFetchSuperficial = 0;
switchoffSurfaceDetails = 0;
switchoffAssetRuntimeSurfaceDetails = 0;
switchoffFetchUniqueScenes = 0;
switchoffFetchRoadDetails = 0;
switchoffFetchDistricts = 0;
switchoffFetchSmokes = 0;
switchoffFetchLights = 0;
switchoffRenderLights = 0;
switchoffRenderLockonTrees = 0;
switchoffSomething = 0;
switchoffVehicle = 0;
switchoffDataFiles = 0;
switchoffInstancers = 0;
switchoffInstancerSubobjects = 0;
switchoffParseInstances = 0;
clipmapDebugTextures = 0;
switchoffClipmapUpdates = 0;
switchonLayerGpuTime = 0;
roadNetworkView = false;
-- viewBoxesForSemantic = "Forest";
-- viewBoxesForSemantic = "Grass";
-- viewBoxesForSemantic = "Land";
-- switchoffReference = "grass_band";
-- switchoffReference = "stone1";
-- switchoffReference = "stone2";
-- switchoffReference = "stone3";
-- switchoffReference = "car_0";
-- switchonReference = "car_01";
blockTreesScale = 1.0;
splineBlockTreesScale = 1.0;
useAsynchGeometries = 1;
testSmokeRender = 0;
test1 = 0;
test2 = 0;
test3 = 0;
test4 = 0;
test5 = 0;
}

