TES Skyrim 0.279

Forum rules
new topics are not allowed in this subsection, only replies.
  • Author
  • Message
Offline
Posts: 7
Joined: 18 Sep 2015, 22:31

Re: TES Skyrim 0.279

ENBSeries wrote:DjaySaint
I can't help, you trying to do what is impossible for the game. Don't think anybody else may help too. For sure your memory amount is wrong, better set value which dx9 version of VRamSizeTest reported. Unsafe memory hack mode do not makes clones of data in RAM and just using VRAM, so when you run out of VRAM, game crash occur.
I'm just looking for stable memory settings really, and trying to run my game without stuttering (or at least very minimal). I have cut down on a lot of mods I use, and got rid of most of my scripted mods. I also run pretty much 2k and under textures. I thought 6gb of vram should be ok on a setup with 2k and under textures.

So the VRamSizeTest says I have 22144 to use, so that's what I changed the value to. I thought 10240 was the max you could set though?

Either way I'm just still not sure how to determine what to set my ReservedMemorySizeMb to. I don't know if I have too much, or not enough. And why would ExpandSystemMemoryX64 be causing a CTD? Is there a setting I'm using that conflicts with it?

Also in regards to memory management. Should I be using anything other than enboost? Should I use the SKSE memory patch as well that changes the stack sizes with enboost, or ONLY enboost? I'm more or less just trying to figure out what works best for others so that I can try things myself. I'm just kind of stuck trying to figure out the optimal settings to use so that I can run a smooth game with limited crashes and limited stuttering (which is the biggest problem I am having at the moment, the stuttering).

Thanks Boris

Offline
User avatar
*blah-blah-blah maniac*
Posts: 530
Joined: 30 Jan 2012, 13:18

Re: TES Skyrim 0.279

ENBSeries wrote:Marty McFly
Functions are noise pattern computation based on frac with different arguments. Pure random noise with smooth distribution uncomparable lower quality, while frac based is kinda stretched, screwed tiling which is greatly smoothed by bilateral filter. You may set keyboard or gui variables to tweak shader constants and to find your own best, the same did i. The problem is in mixing sampling ranges of at least two passes (separately) of bilateral filter and noise pattern. Generic filter range which theoretically coorect do not work. Instead, i'm filtering several noisy waves in two passes instead of just blurring per pixel. Noisy waves means that frac generates irregular noise which repeats as ocean at the storm, huge and small waves when looking at the pattern. In the past (in gta4 also) i have used sincos and frac, but in latest just several fracs and pure arithmetics for performance reasons. Also bilateral filter depending on filtering type setting may use normal map with angle based separation to fix extreme blurriness with per pixel ssao (per trianle don't need this).
So that's why filter has no control values, always wondered why. From my experience, a regular dither pattern (which is what I'm using right now) needs only a very small gaussian blur, 5x5 in comparison to a totally random pattern. The plus side is that even with only a few samples, the dither pattern doesn't need any changes to the blur (I use per pixel blur but I'll give yours a shot) while the totally random one needs at least 15x15 or more. I have a pic somewhere where I used dither on the left half and regular pseudo random generator pattern on the right and in photoshop, 2 pixel blur radius is sufficient for the dither and about 8 pixels radius for the randomized one. I'm just struggling to find a proper way to blur both AO and IL at the same time without the overhead of sampling depth separately so I mix it in the generation pass and carry depth in alpha channel but that doesn't quite seem to be the right way.
To optimize performance i can only suggest to not use constants for sampling, computations for every sampling point must be computed inside the cycle and i used 2d vector rotation by matrix for that. Everything else in optimization is about knowledge which ops in which order and registers are slower or faster, so all gpu units fully utilized at same time as memory bandwidth (even some dummy calculations are used to boost performance). There are other tricks, but i'd like to make a paper about them, because nobody use such optimization methods for shaders, they are require tracking of source code and generated assembly (or writing in assembly) to boost performance several times instead of ruin it.
Well many things of yours are paper material, that being said. I always thought sin/cos were slow? And these tricks, how much performance can you get out of that? I can only optimize like that that I run the shader in fx composer and check what code gives the shortest assembly.
AO and IL mixing are the same as computation of indirect lighting for software renderer with exception that method of AO applied differ and have selection parameter for users. Scene color is demuxed in to ambient, albedo, lighting with shadows, then AO and IL applied on to them and everything mixed back to color. The only trick is to tweak how much AO applied to objects with dark and bright areas instead of just multiplication. Most types of blending (7 total if i remember in Skyrim) are various versions of invalid math which have different look and may look better than proper math.
Do you use game data to determine what's ambient, albedo, lighting and what not or do you use intelligent algorithms for that? Because I guess old games like GTASA hardly have data for that.

Offline
Posts: 3
Joined: 16 Oct 2015, 13:14

Re: TES Skyrim 0.279

hey all im new to the fourms i need some help with enb im pritty sure im gettin bad performance because of the enblocal settings not been set up correctly. I thought I understood it but im really confused about it. can somone put my mind at eas with the reserved memory and video memory setting. looking at the enb local file for Kountervibe ENB Northern Light it ses this "VRAM + RAM - 2048 = 24576 + 4096 in my case so 26624" But 2048 is 2gb of vram and 4096 is 4gb of ram? so how dose it = 26624?? 2048+4096 =6144 (im not good with math but this is what i get using a calculator). further more for my system I have 16gbs of ram and 6gbs of vram...so i thought that would =16000+6144 witch is 22144 but that dosent even come close to 26624..im so confused.how dose it work please explain.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: TES Skyrim 0.279

DjaySaint
It's simple actually. Imagine that game have limit of 4gb and textures are stored at hdd, then loaded to system memory, then uploaded to video memory on use. Even if you have 100gb of vram, the limit is 4gb of process memory, system memory, about 1.5-2gb already wasted and with big ugrid setting it's much more. ENBoost expand usable memory, but game still need to send textures to video memory when used and this produce stuttering, because such process runs at 1-4 gb per second and game do not have any prediction for smooth loading, it simply push everything in to vram if you turn the camera to the area which wasn't visible long time. Unsafe hack ignore copying and destroing system to vram resources, but with downsides you already know. Amount of video memory parameter is upper limit of how many video memory can be used for storing textures and geometry, it's great to have big value reported by VRamSiseTest, but it's game decides when destroy objects in video memory and i can't do anything about that. Fortunately, because of game bugs, it mostly ignore how much memory used in vram, but own game memory manager unloads/destroys resources, i guess this can be changed in game ini files.
ExpandSystemMemoryX64 crashes only if wrong skse memory manager setting are used, with crapware (rarely) and if few skse mods installed with bugs in them regarding pointer addresses. This parameter do not affect stuttering much, it's mostly ctd fix because of much lower memory fragmentation with it.
Skse memory manager + enboost is the best combo right now, but you need to set skse properly, too high values which i have seen as default cannot be used because of OS memory manager, it may fail to start the game at all (memory fragmentation occur because of dlls loaded, so process can't allocate one big block of memory).
Try to ask preset makers who have Titan cards, they probably have good setting of memory manager and game ini files, because i heard from them that running fine and smooth, not all of them though.

domjam
Just use value of VRamSizeTest dx9 version reported, it's the maximal possible. And try to modify reserved size to the bigger (may cause ctd if too big) and disable/enable driver memory manager.

Marty McFly
Forgot to mention, blurring in two passes need to be tweaked by range for each pass not just by "waves" of pattern, but to make much greater blurring than with just simple passes, because of bilinear filtering of input texture (ao/il in one texture). There are many combos of such ranges, i recommend to create sample image with pixels on it for testing, for example lines as 1, 0, 1, 0 in both hor and vert, checker, axis aligned lines, skipped pixels like 1, 0, 0, 1. If i remember, range of 1.0 for first pass and 1.25 for second pass is one of the simplest to get that kind of extra blurring (really huge, like 4 passes). To optimize performance of filter for low ranges, use precomputed mask of edges. Of course it's not work with huge blurring ranges, but i'm using modified bilateral filter, so it's ok.
And these tricks, how much performance can you get out of that?
In several times. Short code is not the best for shaders, at least not for ambient occlusion. Try to find any 3d engine which let you write shaders and to see fps impact, this is the only way to find out how things works. Nobody write in docs why it's better to avoid some instructions after another and how much space to waste for separating them, in which case some ops can be much slower, etc etc etc. And read papers of videocards architechture when new models are presented at hi-tech sites, understand which ops computed in which modules and how they are linked, how memory works - all these also good for heavy optimization (but not much, may be 1.5 times max, unless code very bad initially).
Do you use game data to determine what's ambient, albedo, lighting
No, i draw this separately, if not exist in game. That's why Skyrim have deferred mode, while initially game use forward rendering with shadow prepass (kinda deferred shadow). Gta4 and Gta5 are deferred, so i do not use anything, except math to restore data. Gtasa is simple forward like most of games and if i remember, only latest versions used deferred, but not worth it actually, game use vertex lighting, only partially ssao/ssil blending is better than without any data like albedo, lighting. To mix ssao/ssil in such cases i have used math which compute amount of ao from pixel brightness, il amount depends from versions, some multiplyadd math, some affected by ao. It's just about the look of final result, i don't see any other way. Because game is mostly bright, ao trick works, but fails at very contrast areas between walls, il then foolish the eye.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 3
Joined: 16 Oct 2015, 13:14

Re: TES Skyrim 0.279

VRamSizeTest dx9 version reported??is that a setting in enb or a tool i need to download? i found a post on the forums "Vramsizetest v1.0 but i dont see a download for it. sorry im very new to enb.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: TES Skyrim 0.279

It's my another program, download it from enbdev.com
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 3
Joined: 16 Oct 2015, 13:14

Re: TES Skyrim 0.279

ENBSeries wrote:It's my another program, download it from enbdev.com
thank you for that however im still a bit confused. lol sorry.. I ran the VramSizeDX9.exe and it ses my video memory available is (4064) this dosent seem right since i have 16gb and and 2 6gb cards. please explain more.thanks. sorry for being a noob.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: TES Skyrim 0.279

If it reports 4gb, then you can't set any bigger, this is the actual size of video memory available for dx9 games, it's set by the video driver. Simply use 4000 for memory size in enblocal.ini
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 33
Joined: 06 Aug 2013, 05:04

Re: TES Skyrim 0.279

I just found out something interesting in regards to the whole "4 GB VRAM limit" issue. I may be totally wrong as I'm no expert on drivers and/or operating systems, but I suspect the limit is actually imposed by the Windows 10 OS and not the drivers. I came to this conclusion after recently "upgrading" to Windows 10 (then shorty reverting back to Windows 7 thereafter).

I have an AMD r9 390 with 8 GB of VRAM. On Windows 7, Boris's DirectX 9 VRAM Tool gives a VRAM total in excess of 8 GB (usually around 12000 MB, depending on what I have running in the background, since I have 16 GB of system RAM). However, after upgrading to Windows 10 and using the same graphics card, with the same driver version, Boris's tool gives a result of exactly 4096 MB.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: TES Skyrim 0.279

No, this is not controlled by os or dx version, only driver allocates memory.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
Post Reply