Jump to content
  • 0
DoubleYou

Memory Blocks Log (by Sheson)

Question

Discussion thread:
Memory Blocks Log by Sheson
Wiki Link





This is a utility for users who patch Skyrim according to Skyrim Memory Patch.
This SKSE plugin helps finding a good size for the first memory block (DefaultHeap).

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

I think that this should be included with STEP Core because of...

 

For the Memory Patch 3.0 or SSME to be effective you must have a 64 bit OS and have more than 4GB of RAM.
 
As I was helping people out with pretty consistent CTDs and they claimed it was pretty consistent.
I had asked them to install Memory Blocks Log and then post their MemoryBlocksLog.Log and this showed that SKSE memory tweaks for blocks1 wasn't working correctly.
This is the first few lines of a normal working memory tweak
 

logging of blocks enabled
logging max values only
Timer disabled
Block1 Block2
512MB 256MB

This is what the user that had CTDs posted
 

logging of blocks enabled
logging max values only
Timer disabled
Block1 Block2
256MB 256MB

The MemoryBlocksLog.Log will clearly show what the actual block sizes are for blocks 1 & 2.
In this case Block1 is 256 which can be easily maxed out causing a freeze or CTD.
In the first log it show that Blocks1 is 512 which is a good starting value and will work for most users.

 
I have found this to be a really helpful tool myself in the past.
 
I tried to think of any downsides and I could think of any that would negatively impact a STEP users game
 
All it does

Starts up and logs the info every time the memory blocks increase.

 
The only way to directly prove that the memory tweak are or are not working is by using this plugin.

There are other means but I have excluded them because they are more complex than this plugin.

 

Here are some recent topics where the usage of memory blocks log helped

memory patches and limitations

Semi-random freezing

 

 
The most common way to fix the memory issue that I presented above is to add the argument that I list below to the arguments for SKSE

-forcesteamloader

Here is an image if you have trouble with what I am talking about.

ForceSteamLoader.png

Share this post


Link to post
Share on other sites
  • 0

I want to push this again...

I would like to see this included in the next release of STEP.

 

Is there any reason not to include it?

Share this post


Link to post
Share on other sites
  • 0

We have a Utility Pack made by DY that should include this. I'd welcome making DY's pack an Official STEP pack.

Share this post


Link to post
Share on other sites
  • 0

I was thinking add it to core because it helps people understand what their memory is doing.

Share this post


Link to post
Share on other sites
  • 0

hmm, Ill look into posting that in one of the guides if I feel that it is needed. I wasn't able to immediately respond to your question because I was out of the house for once. :D

a65902a844.png

EDIT: I added it to the 2nd post and I believe that it is sufficient. If you feel that I am incorrect then send me a pm and suggest what else I should do.

Share this post


Link to post
Share on other sites
  • 0

Could you mention somewhere in your description that a 64 bit OS is a requirement for this ?

And possibly anywhere else SKSE or SSME are recommended in any guides ..

 

 

See original documentation here https://enbseries.enbdev.com/forum/viewtopic.php?f=13&t=2729

 

A couple of quotes from there :

 

 

 

Will this help your ILS, CTD or freezing?

 

 

You have a 64bit OS and lots of main memory.

 

and ..

 

 

 

Requirements

 

 

64bit OS - 32bit may work but untested, probably should use /userva switch, but if you are that desperate good luck

a decent amount of RAM - more than 4GB

a suitable graphics card with decent amount of VRAM - depending on texture sizes

ENBoost - need to free up main memory

Edited by alt3rn1ty

Share this post


Link to post
Share on other sites
  • 0

hmm, Ill look into posting that in one of the guides if I feel that it is needed. I wasn't able to immediately respond to your question because I was out of the house for once. :D

 

EDIT: I added it to the 2nd post and I believe that it is sufficient. If you feel that I am incorrect then send me a pm and suggest what else I should do.

I was just thinking it might save you some time and it's a great screenshot showing exactly where to add that parameter.

 

I notice that in a vanilla game using the HRDLC (using the SKSE memory tweak and Memory Blocks Log) up through the dragon attack in the intro sequence Block 1 never exceeds 202MB. If I coc whiterun or riverwood from here, Block 1 goes to 213MB. Do you know offhand if Block 1 ever goes beyond 256MB with a vanilla game?

Share this post


Link to post
Share on other sites
  • 0

If your game is heavily modded then it will go over 255MB. My current install is up in the 350MB range. Without this patch I would ctd immediately.

I'll up date the 2nd post with some extra info.

EDIT: I wouldnt say that ENBoost is a requirement nor a 64bit os because that isnt a requirement that applies to the memory blocks log but rather the actual memory patch and a stable game. I however did mention this at the top: "For the Memory Patch 3.0 or SSME to be effective you must have a 64 bit OS and have more than 4GB of RAM."

Share this post


Link to post
Share on other sites
  • 0

Yep sorry you are quite right, I was looking around for topics related to SSME and SKSE implementation of Shesons fix .. The requirements I mention are for those and not Memory Blocks log

Share this post


Link to post
Share on other sites
  • 0

I was reaching the 512 limit at Block1 so i've setup my memory blocks ini to 1024-512 (game doesn't start with 1024-256)

 

This way my first lines shows:

 

logging of blocks enabled
logging max values only

Timer disabled
Block1      Block2
1024MB    512MB

 

and my final lines (without ctd) are

~

BlocK 1 Block 2

650       256

670       256

678       256

 

So my question is:

why am i stuck with 256 in Block 2?

Share this post


Link to post
Share on other sites
  • 0

This is a situation I had....

I was told that block1 shouldn't need to be raised because it goes to block 2 and block2 didn't need to be raised because skyrim will just create another block 2

Lets if someone has a good answer

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Majorman
      Discussion topic:
      Yukichigai Unofficial Patch - YUP by Yukichigai (currently maintained by sandbox)
      Wiki Link
    • By sheson
      I will keep this post brief. Make use of the Help buttons and hover over settings. Do not hesitate to ask questions and provide feedback.
      This is early ALPHA to test things and iron out bugs. Certain things may be incomplete, not work as expected or change considerably between versions. In case of error messages, click "Help for this message" if available. Ask questions or report any problems or issue in this thread.
      If making posts or reporting errors, upload/paste these files (if they exist) to a file service or pastebin
      ..\DynDOLOD\bugreport.txt
      ..\DynDOLOD\Logs\[DynDOLOD|TexGen]_[TES5|ENDERAL|SSE|TES5VR|ENDERALSE]_log.txt
      ..\DynDOLOD\Logs\[DynDOLOD|TexGen]_[TES5|ENDERAL|SSE|TES5VR|ENDERALSE]_Debug_log.txt
      If issue involves LODGen upload/paste
      ..\DynDOLOD\Logs\LODGen_[TES5|ENDERAL|SSE|TES5VR|ENDERALSE]_[Worldspace]_log.txt
       
      Requirements
      DynDOLOD Standalone 3.0 Alpha-33 (Mega) DynDOLOD Resources 2.85 (Mega) for Skyrim/Enderal or DynDOLOD Resources SE 3.00 Alpha-9 (Mega) for Skyrim SE/Skyrim VR/Enderal SE Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 For dynamic LOD: SKSE, SKSE64, SKSEVR and PapyrusUtil, PapyrusUtil SE, PapyrusUtil VR  or DynDOLOD DLL For grass LOD: A warm precache from No Grass In Objects. See next post for details.  
      Installation
      Install the requirements as usual. Install the Core Files from either DynDOLOD Resources or DynDOLOD Resources SE depending on the used game version. Typically overwrite any files or refer to Load/Overwrite Orders. Install other options as desired. Unpack the DynDOLOD Standalone archive into a new 'DynDOLOD' directory that is outside of special OS folders like 'Programs Files' or 'Program Files (x86)', User, Documents, Desktop, Download and also not in SteamApps, game or any mod manager folders. By default the tools start in Skyrim mode, which is the same as adding the -tes5 command line parameter. Add -sse for Skyrim Special Edition, -tes5vr for Skyrim VR or -enderal for the Enderal Steam Version.  
      LOD Generation
      Use TexGen to generate object LOD textures and tree/grass LOD billboards into a dedicated output folder and then install as a mod. Use DynDOLOD to generate object LOD (includes grass LOD if enabled), tree and optional dynamic LOD into a dedicated output folder and then install as a mod.  
      Major Feature Changes
      Generate high quality tree/grass LOD billboards with TexGen. No need to install any billboards. Ultra tree LOD is now a checkbox - remember to update the tree mesh rule as desired. Billboard Grass LOD in object LOD Level 4. See next post for details. Generate some pre-rendered object LOD textures, including all cities. Generate an underside terrain mesh to block sun rays.  
      Changelog 3.00 Alpha 33
      DynDOLOD.exe - fixed an issue with adding grass LOD billboards to object LOD atlas
      3.00 Alpha 32
      DynDOLOD.exe - fixed wrong INI settings
      3.00 Alpha 31
      DynDOLOD.exe - added Enderal SE Steam support, start with -enderalse command line argument
      DynDOLOD.exe - added INI settings CrownBrightness, TrunkBrightness, FlatTrunkBrightness vertex color multipliers to control brightness of 3D tree models in object LOD
      DynDOLOD.exe - never ignore neverfades in child worlds for upgrading to static or dynamic LOD
      DynDOLOD.exe - fixed accidentally adding material shader to glow LOD
      DynDOLOD.exe - do not use empty list item from lists in INI
      DynDOLOD.exe - fixed not always disabling some dynamic LOD correctly in scanned childworlds that also have their own LOD (e.g. Markarth)
      TexGen.exe - added rendered object LOD textures - most notably Solitude, Markarth, Riften, Windhelm and College of Winterhold
      LODGen.exe - CrownBrightness*=, TrunkBrightness*=, FlatTrunkBrightness*= added
      DynDOLOD Resources SE - updated meshes and texture for better compatibility
      3.00 Alpha 30
      TexGen.exe - fixed sometimes wrongly applying specular 3.00 Alpha 29
      TexGen.exe - improved loading of cubemap textures
      3.00 Alpha 28
      TexGen.exe/DynDOLOD.exe - added Enderal SE support, uses its own config files in anticipation of Steam version
      DynDOLOD.exe - fixed accidentally generating tree LOD instead of object LOD for child world copies
      DynDOLOD.exe - add full-model-CRC32 matching for object/dynamic LOD models for automatic support of "dumb" mesh replacer mods
      DynDOLOD.exe - fixed not adding center cell data for first dynamic LOD activation
      DynDOLOD.exe - added/updated rules for better compatibility
      TexGen.exe - properly ignore trees without models or deleted base records
      TexGen.exe - added environment/cubemap shader
      TexGen.exe - added rendered object LOD textures - most notably vanilla Whiterun and Dwemer Ruins, DynDOLOD Dawnguard castle and more
      LODGen.exe - improved parsing of txt files
      Texconv.exe - updated to latest version
      DynDOLOD_Manual.html - updated explanations information for Enderal
      DynDOLOD Resources SE - updated meshes and texture for better compatibility
      3.00 Alpha 27
      DynDOLOD.exe - added INI setting TerrainUndersideIgnoreWorlds=
      LODGen.exe - optimize underside terrain by removing triangles for default terrain height
      DynDOLOD-Resources-SE - added patch to enable grass for Whiterun exterior

      3.00 Alpha 26
      DynDOLOD.exe - add terrain underside references to ESP so they work in all worldspaces
      3.00 Alpha 25
      DynDOLOD.exe - fixed a problem with thread control
      DynDOLOD.exe - fixed patches sometimes being confused about the destination plugin
      DynDOLOD.exe - improved enabling/disabling of underside mesh
      Papyrus Script - updated objectenabler script
      3.00 Alpha 24
      DynDOLOD.exe - enable/disable terrain underside meshes in child worldspaces
      DynDOLOD.exe - only generate terrain underside meshes for worldspaces that have LOD level 32
      DynDOLOD.exe - fixed ignoring skinned meshes for dynamic LOD
      Papyrus Script - new objectenabler script for terrain underside meshes
      LODGen.exe - do not fail if optional billboard txt file is not present
      LODGen.exe - fixed sometimes not automatically setting passthru for glow shader
      LODGen.exe - fixed sometimes not applying replacement textures
      3.00 Alpha 23
      DynDOLOD.exe/TexGen.exe - fixed not using SSE config files for TES5VR
      DynDOLOD.exe - added INI settings TerrainUnderside, TerrainUndersideQuality and TerrainUndersideHeigth to automatically generate and place a terrain NIF that aids in blocking sun rays
      3.00 Alpha 22
      DynDOLOD.exe - added INI settings DoubleSidedTextureMask and DoubleSidedMeshMask to force double sided flag for specfic meshes or textures
      LODGen.exe - DoubleSidedTextureMask= and DoubleSidedMeshMask= added
      3.00 Alpha 21
      DynDOLOD.exe - ignore billboards without txt files so LODGen does not fail later
      LODGen.exe - added GrassDensity= to allow for lower density of grass LOD billboards in object LOD
      LODGen.exe - added ThreadSplit= to control ratio of main to sub threads for object LOD generation
      3.00 Alpha 20
      LODGen.exe - fixed looking up wrong path in BSA for billboard txt
      3.00 Alpha 19
      DynDOLOD.exe - fixed skipping over some references using LIGH
      DynDOLOD.exe - fixed ignoring overwrites from patches
      DynDOLOD.exe - fixed not always copying XEMI record from child world to existing parent LOD representations
      DynDOLOD.exe - ignore references with only a notice that have been moved out of their original worldspace
      DynDOLOD.exe - fixed ignoring XESP parent configuration not working as intended
      TexGen.exe - do not leave orphaned billboard files in case they are filtered out
      3.00 Alpha 18
      DynDOLOD.exe - fixed wrong tree LOD atlas coordinates
      3.00 Alpha 17
      DynDOLOD.exe - fixed index out of bounds while generating tree LOD texture atlas
      3.00 Alpha 16
      DynDOLOD.exe - ignore duplicate patches
      3.00 Alpha 15
      DynDOLOD.exe - default to -memory instead of -speed
      DynDOLOD.exe - added duplicate texture removal to object LOD atlas generation
      DynDOLOD.exe - added thread limit settings for some Occlusion operations
      LODGen.exe - fixed an indexing error
      LODGen.exe - added Threads= to limit number of concurrent LOD generation threads, defaults to number of cores
      3.00 Alpha 14
      DynDOLOD.exe - fixed not ignoring player enable parent for tree LOD
      TexGen.exe - fixed a case of not ignoring case
      3.00 Alpha 13
      DynDOLOD.exe - fixed sometimes leaving ITM records
      DynDOLOD.exe - fixed removing alpha channel from texture if NiAlphaProperty threshold is 0
      DynDOLOD.exe - fixed sometimes setting unresolved material links
      DynDOLOD.exe - fixed not overwriting earlier rules
      TexGen.exe - maximize and trim billboard texture based on render instead of vertex bounding box
      TexGen.exe - do not generate billboard if textures are missing
      LODGen.exe - fixed sometimes not using side-view billboard
      3.00 Alpha 12
      DynDOLOD.exe - fixed wrong load order detection for ESP only generation
      3.00 Alpha 11
      DynDOLOD.exe - fixed sometimes modifying other plugins
      TexGen.exe - added separate MaxSuperSamples options for grass, tree and objects
      LODGen.exe - fixed sometimes not discovering grass billboards correctly
      3.00 Alpha 10
      DynDOLOD.exe - removed a left over debug check stopping things for no reason
      3.00 Alpha 9
      DynDOLOD.exe - fixed sometimes copying wrong overwrite record
      3.00 Alpha 8
      DynDOLOD.exe - fixed sometimes not matching LOD models
      3.00 Alpha 7
      DynDOLOD.exe - fixed sometimes adding a duplicate textures on atlas
      3.00 Alpha 6
      DynDOLOD.exe - fixed not adding master for direct childworld copies
      3.00 Alpha 5
      DynDOLOD.exe - demoted duplicate cell exception to a warning
      DynDOLOD.exe - check for childless worldspaces 
      DynDOLOD.exe - fixed not adding master for enable parent of object activators
      DynDOLOD.exe - improved reading of grass data
      DynDOLOD.exe - added INI setting AlphaFactor= to control internal mipmap alpha coverage
      DynDOLOD.exe - improved normalization of assets paths
      TexGen.exe - ^^which means finding textures with rooted texture paths found in NIF
      3.00 Alpha 4
      DynDOLOD.exe - fixed trying to add references for empty parent models for glow LOD
      DynDOLOD.exe - report missing base record LOD definitions if automatic matching fails
      DynDOLOD.exe - do not add worshippers to cells added by ESP
      DynDOLOD.exe - fixed forced load order resulting in orphaned records 
      DynDOLOD.exe - double check if there are duplicate cells
      DynDOLOD.exe - monitor for duplicate triplets
      DynDOLOD.exe - properly blame ESP not setting MSTT DATA - Flags 0x4 
      TexGen.exe - fixed localization preventing rendering
      TexGen.exe - fixed sometimes writing wrong CRC32 for textures
      3.00 Alpha 3
      DynDOLOD.exe - ignore inconsequential unresovled errors in DLC and paid mods
      3.00 Alpha 2
      DynDOLOD.exe - fixed INI setting typo
      DynDOLOD Help - updated grass LOD settings information for No Grass In Objects version 6

      3.00 Alpha 1
      DynDOLOD.exe - converted all remaining external pas scripts to native code
      DynDOLOD.exe - added ultra LOD as a GUI option
      DynDOLOD.exe - export binary terrain file for LODGen
      DynDOLOD.exe - export grass LOD billboard file for LODGen
      TexGen.exe - converted all remaining external pas scripts to native code
      TexGen.exe - added OpenGl renderer and options to generate object LOD textures and tree/grass LOD billboards from models
      LODGen.exe - added support for reading Skyrim Special Edition CGID grass data files to place grass billboards in static object LOD meshes
      LODGen.exe - PathGrass= path to folder with xy.cgid files
      LODGen.exe - GrassMap= file with simple (NIF_FormID) billboard filename to fully qualified (textures\terrain\LODGen\...) billboard filename
      LODGen.exe - GrassBrightness*= vertex color multipliers to control overall brightness of grass
      LODGen.exe - use optional binary terrain file for pre-pass removing unseen faces for object LOD, TerrainData= as for terrain LOD
       
    • By TechAngel85
      Discussion topic:
      Windrex by WinderTP
      Wiki Link
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.