CPU Performance Patch (Up to 30% faster physics, up to 60% more FPS)

Other CPU Performance Patch (Up to 30% faster physics, up to 60% more FPS)

I have a pretty old machine.

CPU: i7-7800X
GPU: Asus GeForce GTX 980

Would I be able to use this? If so, what settings would be recommended?
Mine has an older cpu i5 2400 and after using this patch on default settings i did notice gain in fps unless i am being stupid and its a placebo effect, but then i also checked if the patch is running or not and it is running when checked in powershell. Try to use this patch with its default settings and see if you notice any difference in performance.
 
In the file C:\Users\Admin\AppData\Local\Temp\MeshedVR\VaM\Crashes\Crash_[DATE]\error.log
Only the entry between
Stack Trace of Crashed Thread XXXX:
(lots of lines)
and
Stacks for Running Threads:
Alright, So I'll post the two crash logs here. They're the result of two different actions taken within VaM which I'll explain below. They are pretty fkn lengthy lol. I had to upload them as attachments as they are too long to post in here.(was getting error saying my message was too long when I did try to post them here.)

Attachment named: Error from consecutive
This is the first crash that happened after loading several scenes consecutively without doing a Hard Reset on the program. This occurred 2 days ago? I think I may have loaded 4(?) different scenes before it crashed? They were fairly script heavy though.

Attachment named: "Error from small scene afk"
This crash occurred yesterday, after loading a assetbundle(CUA), and adding a subscene with 1 person and a few AnimationPatterns in it. Both were fairly small as far as others I've used without problems. I've also used both several times in the past without issue. I open the two things, and went afk for about 10mins? Then came back, and it was as if the moment I clicked anything, it crashed.
 

Attachments

  • Error from consecutive - Copy.txt
    151.7 KB · Views: 0
  • Error from small scene afk - Copy.txt
    147.8 KB · Views: 0
Alright, So I'll post the two crash logs here. They're the result of two different actions taken within VaM which I'll explain below. They are pretty fkn lengthy lol. I had to upload them as attachments as they are too long to post in here.(was getting error saying my message was too long when I did try to post them here.)

Attachment named: Error from consecutive
This is the first crash that happened after loading several scenes consecutively without doing a Hard Reset on the program. This occurred 2 days ago? I think I may have loaded 4(?) different scenes before it crashed? They were fairly script heavy though.

Attachment named: "Error from small scene afk"
This crash occurred yesterday, after loading a assetbundle(CUA), and adding a subscene with 1 person and a few AnimationPatterns in it. Both were fairly small as far as others I've used without problems. I've also used both several times in the past without issue. I open the two things, and went afk for about 10mins? Then came back, and it was as if the moment I clicked anything, it crashed.
in both cases something inside VaM tried to allocate a very large array that couldn't possibly fit inside your RAM. Could also be a bug and it requested like a trillion terrabytes of RAM. Did it only happen with additional plugins installed?

Edit: the output_log.txt next to the error.log could have the C# classes in the stack trace, paste what is between
========== OUTPUTTING STACK TRACE ==================
and
========== END OF STACKTRACE ===========
 
Last edited:
I have a pretty old machine and I'm not tech-savvy. which settings should I use for this setup?

AMD Ryzen 7 2700 Eight-Core
16GB RAM
 
in both cases something inside VaM tried to allocate a very large array that couldn't possibly fit inside your RAM. Could also be a bug and it requested like a trillion terrabytes of RAM. Did it only happen with additional plugins installed?

Edit: the output_log.txt next to the error.log could have the C# classes in the stack trace, paste what is between

and
This is the first crash where I loaded several scenes consecutively:
Code:
========== OUTPUTTING STACK TRACE ==================

0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAA12A73 (Mono JIT Code) DAZSkinV2:FlushBuffers ()
0x000001EAA149091D (Mono JIT Code) DAZSkinV2:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A6188C)
0x00007FF960A6188C (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001A64 (win32u) NtUserSetFocus
0x00007FF9A8148F29 (USER32) DrawStateA
0x00007FF9A80E297F (USER32) ScreenToClient
0x00007FF9A80E20C2 (USER32) ScreenToClient
0x00007FF9A80E1FD6 (USER32) ScreenToClient
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001124 (win32u) NtUserMessageCall
0x00007FF9A80DDF33 (USER32) SendMessageW
0x00007FF9A80D6B4D (USER32) CreateWindowInBandEx
0x00007FF9A80FD4E7 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAA12A73 (Mono JIT Code) DAZSkinV2:FlushBuffers ()
0x000001EAA149091D (Mono JIT Code) DAZSkinV2:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61E58)
0x00007FF960A61E58 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61A1D)
0x00007FF960A61A1D (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7002384 (win32u) NtUserDestroyWindow
0x00007FF9A80FD99A (USER32) DialogBoxIndirectParamAorW
0x00007FF9A80FD501 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAAAE65F (Mono JIT Code) DAZSkinWrap:FlushBuffers ()
0x000001EA0C6593CD (Mono JIT Code) DAZSkinWrap:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A6188C)
0x00007FF960A6188C (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001A64 (win32u) NtUserSetFocus
0x00007FF9A8148F29 (USER32) DrawStateA
0x00007FF9A80E297F (USER32) ScreenToClient
0x00007FF9A80E20C2 (USER32) ScreenToClient
0x00007FF9A80E1FD6 (USER32) ScreenToClient
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001124 (win32u) NtUserMessageCall
0x00007FF9A80DDF33 (USER32) SendMessageW
0x00007FF9A80D6B4D (USER32) CreateWindowInBandEx
0x00007FF9A80FD4E7 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F8712A (mono) mono_unity_class_get
0x00007FF970F87445 (mono) mono_unity_class_get
0x00007FF970F87550 (mono) mono_unity_class_get
0x00007FF970EAA986 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E81639C59C (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow:.ctor ()
0x000001E81639C338 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.Compression.Inflater:.ctor (bool)
0x000001E81639A2B3 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.ZipFile:GetInputStream (long)
0x000001E816399F72 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.ZipFile:GetInputStream (ICSharpCode.SharpZipLib.Zip.ZipEntry)
0x000001E816399945 (Mono JIT Code) MVR.FileManagement.VarFileEntryStream:.ctor (MVR.FileManagement.VarFileEntry)
0x000001E895DA3593 (Mono JIT Code) MVR.FileManagement.FileManager:OpenStream (MVR.FileManagement.FileEntry)
0x000001E895DA3418 (Mono JIT Code) MVR.FileManagement.FileManager:OpenStream (string,bool)
0x000001E8DAB018DB (Mono JIT Code) DAZMorph:LoadDeltasFromBinaryFile (string)
0x000001E8DAB01803 (Mono JIT Code) DAZMorph:LoadDeltas ()
0x000001EAA151995B (Mono JIT Code)  .:  (DAZMorph,single)
0x000001EAA1519306 (Mono JIT Code)  .:  (DAZMorphBank)
0x000001EAA15160FC (Mono JIT Code) Naturalis.BootyMagic:  ()
0x000001EA739FD28E (Mono JIT Code) Naturalis.BootyMagic/ :MoveNext ()
0x000001E7FF0F46CD (Mono JIT Code) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
0x000001E7FF0F47F1 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050DF4C)
0x00007FF96050DF4C (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050DFDF)
0x00007FF96050DFDF (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602F60B1)
0x00007FF9602F60B1 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960415597)
0x00007FF960415597 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041561F)
0x00007FF96041561F (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960417616)
0x00007FF960417616 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61271)
0x00007FF960A61271 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A603BA)
0x00007FF960A603BA (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A62B59)
0x00007FF960A62B59 (UnityPlayer) (function-name not available)
0x00007FF960A62CEB (UnityPlayer) UnityMain
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF725FB1207)
0x00007FF725FB1207 (VaM) (function-name not available)
0x00007FF9A8297344 (KERNEL32) BaseThreadInitThunk
0x00007FF9A99826B1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
 * C:/Users/[REDACTED]/AppData/Local/Temp/MeshedVR/VaM/Crashes
Could not load symbol mono_unity_lock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

Could not load symbol mono_unity_unlock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

And this is the second crash: One CUA, one subscene with 1 person and a few animationpatterns.
Code:
========== OUTPUTTING STACK TRACE ==================

0x00007FFE31B0EAC0 (mono) mono_unity_class_get
0x00007FFE31B08147 (mono) mono_unity_class_get
0x00007FFE31B08895 (mono) mono_unity_class_get
0x00007FFE31B0712A (mono) mono_unity_class_get
0x00007FFE31B07445 (mono) mono_unity_class_get
0x00007FFE31B07603 (mono) mono_unity_class_get
0x00007FFE31A2A9C8 (mono) mono_array_new_specific
0x0000021DA2570BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x0000021FA32B2212 (Mono JIT Code) DAZMorphBank:ApplyMorphsThreadedFast (UnityEngine.Vector3[],UnityEngine.Vector3[],DAZBones)
0x0000021FA32AFE8F (Mono JIT Code) DAZCharacterRun:RunThreaded (bool)
0x0000021FA32ED510 (Mono JIT Code) DAZCharacterRun:MTTask (object)
0x0000021DA2570136 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this___object (object,intptr,intptr,intptr)
0x00007FFE31AD673F (mono) mono_set_defaults
0x00007FFE31A28A95 (mono) mono_runtime_invoke
0x00007FFE31A54103 (mono) mono_thread_interruption_request_flag
0x00007FFE31B0A137 (mono) mono_unity_class_get
0x00007FFE7C7F7344 (KERNEL32) BaseThreadInitThunk
0x00007FFE7D2626B1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
 * C:/Users/[REDACTED]/AppData/Local/Temp/MeshedVR/VaM/Crashes
Could not load symbol mono_unity_lock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

Could not load symbol mono_unity_unlock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)
 
This is the first crash where I loaded several scenes consecutively:
Code:
========== OUTPUTTING STACK TRACE ==================

0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAA12A73 (Mono JIT Code) DAZSkinV2:FlushBuffers ()
0x000001EAA149091D (Mono JIT Code) DAZSkinV2:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A6188C)
0x00007FF960A6188C (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001A64 (win32u) NtUserSetFocus
0x00007FF9A8148F29 (USER32) DrawStateA
0x00007FF9A80E297F (USER32) ScreenToClient
0x00007FF9A80E20C2 (USER32) ScreenToClient
0x00007FF9A80E1FD6 (USER32) ScreenToClient
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001124 (win32u) NtUserMessageCall
0x00007FF9A80DDF33 (USER32) SendMessageW
0x00007FF9A80D6B4D (USER32) CreateWindowInBandEx
0x00007FF9A80FD4E7 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAA12A73 (Mono JIT Code) DAZSkinV2:FlushBuffers ()
0x000001EAA149091D (Mono JIT Code) DAZSkinV2:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61E58)
0x00007FF960A61E58 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61A1D)
0x00007FF960A61A1D (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7002384 (win32u) NtUserDestroyWindow
0x00007FF9A80FD99A (USER32) DialogBoxIndirectParamAorW
0x00007FF9A80FD501 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F889E3 (mono) mono_unity_class_get
0x00007FF970F8732D (mono) mono_unity_class_get
0x00007FF970F873EA (mono) mono_unity_class_get
0x00007FF970F87603 (mono) mono_unity_class_get
0x00007FF970EAA9C8 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E8DAA12DC3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:InitArrays (int)
0x000001E8DAA12C65 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:Init (int,System.Collections.Generic.IEqualityComparer`1<int>)
0x000001E8DAA12B85 (Mono JIT Code) System.Collections.Generic.Dictionary`2<int, UnityEngine.ComputeBuffer>:.ctor ()
0x000001E8DAAAE65F (Mono JIT Code) DAZSkinWrap:FlushBuffers ()
0x000001EA0C6593CD (Mono JIT Code) DAZSkinWrap:OnApplicationFocus (bool)
0x000001EAA14909C9 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___sbyte (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050CC37)
0x00007FF96050CC37 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602420F9)
0x00007FF9602420F9 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96040B962)
0x00007FF96040B962 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041887A)
0x00007FF96041887A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A6188C)
0x00007FF960A6188C (UnityPlayer) (function-name not available)
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001A64 (win32u) NtUserSetFocus
0x00007FF9A8148F29 (USER32) DrawStateA
0x00007FF9A80E297F (USER32) ScreenToClient
0x00007FF9A80E20C2 (USER32) ScreenToClient
0x00007FF9A80E1FD6 (USER32) ScreenToClient
0x00007FF9A80DE858 (USER32) CallWindowProcW
0x00007FF9A80DE3DC (USER32) DispatchMessageW
0x00007FF9A80F0C93 (USER32) SendMessageTimeoutW
0x00007FF9A99D0E64 (ntdll) KiUserCallbackDispatcher
0x00007FF9A7001124 (win32u) NtUserMessageCall
0x00007FF9A80DDF33 (USER32) SendMessageW
0x00007FF9A80D6B4D (USER32) CreateWindowInBandEx
0x00007FF9A80FD4E7 (USER32) DialogBoxIndirectParamAorW
0x00007FF9A814AF3B (USER32) SoftModalMessageBox
0x00007FF9A8149855 (USER32) DrawStateA
0x00007FF9A814A647 (USER32) MessageBoxTimeoutW
0x00007FF9A814A438 (USER32) MessageBoxTimeoutA
0x00007FF9A814A04E (USER32) MessageBoxA
0x00007FF970F88E80 (mono) mono_unity_class_get
0x00007FF970F8EAC0 (mono) mono_unity_class_get
0x00007FF970F88147 (mono) mono_unity_class_get
0x00007FF970F88895 (mono) mono_unity_class_get
0x00007FF970F8712A (mono) mono_unity_class_get
0x00007FF970F87445 (mono) mono_unity_class_get
0x00007FF970F87550 (mono) mono_unity_class_get
0x00007FF970EAA986 (mono) mono_array_new_specific
0x000001E7FF0E0BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x000001E81639C59C (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow:.ctor ()
0x000001E81639C338 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.Compression.Inflater:.ctor (bool)
0x000001E81639A2B3 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.ZipFile:GetInputStream (long)
0x000001E816399F72 (Mono JIT Code) ICSharpCode.SharpZipLib.Zip.ZipFile:GetInputStream (ICSharpCode.SharpZipLib.Zip.ZipEntry)
0x000001E816399945 (Mono JIT Code) MVR.FileManagement.VarFileEntryStream:.ctor (MVR.FileManagement.VarFileEntry)
0x000001E895DA3593 (Mono JIT Code) MVR.FileManagement.FileManager:OpenStream (MVR.FileManagement.FileEntry)
0x000001E895DA3418 (Mono JIT Code) MVR.FileManagement.FileManager:OpenStream (string,bool)
0x000001E8DAB018DB (Mono JIT Code) DAZMorph:LoadDeltasFromBinaryFile (string)
0x000001E8DAB01803 (Mono JIT Code) DAZMorph:LoadDeltas ()
0x000001EAA151995B (Mono JIT Code)  .:  (DAZMorph,single)
0x000001EAA1519306 (Mono JIT Code)  .:  (DAZMorphBank)
0x000001EAA15160FC (Mono JIT Code) Naturalis.BootyMagic:  ()
0x000001EA739FD28E (Mono JIT Code) Naturalis.BootyMagic/ :MoveNext ()
0x000001E7FF0F46CD (Mono JIT Code) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
0x000001E7FF0F47F1 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr (object,intptr,intptr,intptr)
0x00007FF970F5673F (mono) mono_set_defaults
0x00007FF970EA8A95 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9605294B4)
0x00007FF9605294B4 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960526910)
0x00007FF960526910 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050DF4C)
0x00007FF96050DF4C (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96050DFDF)
0x00007FF96050DFDF (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF9602F60B1)
0x00007FF9602F60B1 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960415597)
0x00007FF960415597 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF96041561F)
0x00007FF96041561F (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960417616)
0x00007FF960417616 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A61271)
0x00007FF960A61271 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A603BA)
0x00007FF960A603BA (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF960A62B59)
0x00007FF960A62B59 (UnityPlayer) (function-name not available)
0x00007FF960A62CEB (UnityPlayer) UnityMain
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF725FB1207)
0x00007FF725FB1207 (VaM) (function-name not available)
0x00007FF9A8297344 (KERNEL32) BaseThreadInitThunk
0x00007FF9A99826B1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
 * C:/Users/[REDACTED]/AppData/Local/Temp/MeshedVR/VaM/Crashes
Could not load symbol mono_unity_lock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

Could not load symbol mono_unity_unlock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

And this is the second crash: One CUA, one subscene with 1 person and a few animationpatterns.
Code:
========== OUTPUTTING STACK TRACE ==================

0x00007FFE31B0EAC0 (mono) mono_unity_class_get
0x00007FFE31B08147 (mono) mono_unity_class_get
0x00007FFE31B08895 (mono) mono_unity_class_get
0x00007FFE31B0712A (mono) mono_unity_class_get
0x00007FFE31B07445 (mono) mono_unity_class_get
0x00007FFE31B07603 (mono) mono_unity_class_get
0x00007FFE31A2A9C8 (mono) mono_array_new_specific
0x0000021DA2570BDB (Mono JIT Code) (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
0x0000021FA32B2212 (Mono JIT Code) DAZMorphBank:ApplyMorphsThreadedFast (UnityEngine.Vector3[],UnityEngine.Vector3[],DAZBones)
0x0000021FA32AFE8F (Mono JIT Code) DAZCharacterRun:RunThreaded (bool)
0x0000021FA32ED510 (Mono JIT Code) DAZCharacterRun:MTTask (object)
0x0000021DA2570136 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this___object (object,intptr,intptr,intptr)
0x00007FFE31AD673F (mono) mono_set_defaults
0x00007FFE31A28A95 (mono) mono_runtime_invoke
0x00007FFE31A54103 (mono) mono_thread_interruption_request_flag
0x00007FFE31B0A137 (mono) mono_unity_class_get
0x00007FFE7C7F7344 (KERNEL32) BaseThreadInitThunk
0x00007FFE7D2626B1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
 * C:/Users/[REDACTED]/AppData/Local/Temp/MeshedVR/VaM/Crashes
Could not load symbol mono_unity_lock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)

Could not load symbol mono_unity_unlock_dynamic_function_access_tables64 : The specified procedure could not be found.


 
(Filename:  Line: 213)
First crash:
BootMagic applied a morph, VaM tried to load the morph's deltas from a zip, it got till the initialization of the zip stream and then got out of memory. When it gets out of memory it displays an error messagebox, on displaying a messagebox it calls VaM again for some reason to reset the skinmesh buffers. While resetting the skinmesh buffers it went out of memory again and calling the skinmesh buffer reset again until it finaly crashed.
In this crash it didnt even reach any code of my patch.

Second crash:
Same thing happened, but this time it tried to allocate the array I need for faster applying of the morphs in the patch.

Both cases really do sound like you ran out of memory or maybe there is a limit in the unity engine for how much memory it can use.
 
First crash:
BootMagic applied a morph, VaM tried to load the morph's deltas from a zip, it got till the initialization of the zip stream and then got out of memory. When it gets out of memory it displays an error messagebox, on displaying a messagebox it calls VaM again for some reason to reset the skinmesh buffers. While resetting the skinmesh buffers it went out of memory again and calling the skinmesh buffer reset again until it finaly crashed.
In this crash it didnt even reach any code of my patch.

Second crash:
Same thing happened, but this time it tried to allocate the array I need for faster applying of the morphs in the patch.

Both cases really do sound like you ran out of memory or maybe there is a limit in the unity engine for how much memory it can use.
I feel like there must be a limit? Cuz I have 32GB's of RAM. I am also quite sure I would have seen other issues with my OS responding abnormally during the crash, which I didn't. When VaM froze(both times) before it had displayed the crash message, I had opened task manager, and pulled up a window from behind VaM, as-well as had discord open on my other monitor (with sufficient activity occurring to convince me the RAM wasn't full.) They all were responding immediately, while VaM was having a hernia. I'm not saying at this point your patch was the cause, but I'm 99.999% sure my PC didn't run out of RAM during those crashes. That other 00.001% of uncertainty is required, cuz humans are never 100% xD.

In saying all that tho, I have never crashed VaM before. So I really dunno xD I've worked for hours (against my better judgement of-course) in VaM, in extremely heavy and un-optimized scenes, without a crash. Most the time with Unity, and DazStudio open on other monitors.

I was using it again today for a couple hours, and didn't crash. Was also using those same assets and Subscene. So I really don't know lol. Thanks for taken a look at those crashes, and giving some feedback. It's appreciated.
 
Is there a way to speed up loading of textures and convertion to texture (different than caching it on disc)? It's painfully slow. I don't have fps boost but things works better now. Thanks for your hard work.
 
I think I owe a bench too now that it got finalized.
My rig is a curve optimized 5800X3D, with 32GB ram (Micron e-die running 3800 Mhz 1:1:1 MCLK/FCLK/UCLK with tuned timings) and a 6800 XT (2700 Mhz, minimal undervolt and 115% PL - guzzling ~300W..). During bench I set tesselation to 4X and 720p resolution, to le the cpu shine.
Vanilla VAM without patch12:
Benchmark-20240215-213405.png


Vanilla VAM with patch12:

Benchmark-20240215-213027.png

It's a 40% increase in average and 12% in the lows.
The first gen x3d is a pretty decent cpu still.
However seeing those highend intel/nvidia results I am getting an itch to switch. I think with a finetunded ddr4 (they can have lower latencies, what I expet matters more then ddr5 bandwith) ram a 13th or 14th gen K processor at 5.8-6.0 Ghz could go under 1ms average and 5 ms in low. May be even with 6 cores. On the other hand I am also wondering if an rtx really push better. I don't know if or when but unity engine might use physics and that could be more advantageous than pure raster power.
Anyway, KUDOS for you @turtlebackgoofy!!
 
I think I owe a bench too now that it got finalized.
My rig is a curve optimized 5800X3D, with 32GB ram (Micron e-die running 3800 Mhz 1:1:1 MCLK/FCLK/UCLK with tuned timings) and a 6800 XT (2700 Mhz, minimal undervolt and 115% PL - guzzling ~300W..). During bench I set tesselation to 4X and 720p resolution, to le the cpu shine.
Vanilla VAM without patch12:
View attachment 335446

Vanilla VAM with patch12:
View attachment 335447
It's a 40% increase in average and 12% in the lows.
The first gen x3d is a pretty decent cpu still.
However seeing those highend intel/nvidia results I am getting an itch to switch. I think with a finetunded ddr4 (they can have lower latencies, what I expet matters more then ddr5 bandwith) ram a 13th or 14th gen K processor at 5.8-6.0 Ghz could go under 1ms average and 5 ms in low. May be even with 6 cores. On the other hand I am also wondering if an rtx really push better. I don't know if or when but unity engine might use physics and that could be more advantageous than pure raster power.
Anyway, KUDOS for you @turtlebackgoofy!!
amazing results.
You are correct, RAM latency or a huge CPU cache matter most. I'm kinda unsure if vam2 will perform better on 7800x3d than on 14900k, since the new physx engine in unity might make better use of big cpu caches and do better prefetching. A higher IPC also means the CPU can predict and prefetch memory before it gets used.
A lower clocked memory with better latency is preferable ofc, since its not really much data beeing processed in the physics engine, just a lot of small bits.
Unity however will never support physx with GPU acceleration because 95% of their revenue is from mobile games and smartphones dont have a GPU.
Meshedvr should just use physx5 directly lol. He is using ComputeShaders for faster collision computation right now, because unity still doesnt support such a basic feature. ComputeShaders are kinda like a caveman version of CUDA.
 
@Stars&Garters
very weird, your frame times in frames where there IS a physics update are faster than frames without. The CPU does everything very fast, then waits or does something for a long time and then starts the render. The render itself is also very fast. Everything is fast except what happens after all gamelogic and before the render:
1708046325406.png

I suspect getting the results of the GPU accelerated colliders calculation which were started in the frame with the physics update before take a long time.
Do you have like a very old nvidia driver? Could you update to the latest and test again?
And if that doesnt solve it, do you have bepinex installed? I could send you my MonoProfiler which can record exactly what takes a long time. That will probably show what delays your render every time.
 
I think I owe a bench too now that it got finalized.
My rig is a curve optimized 5800X3D, with 32GB ram (Micron e-die running 3800 Mhz 1:1:1 MCLK/FCLK/UCLK with tuned timings) and a 6800 XT (2700 Mhz, minimal undervolt and 115% PL - guzzling ~300W..). During bench I set tesselation to 4X and 720p resolution, to le the cpu shine.
Vanilla VAM without patch12:
View attachment 335446

Vanilla VAM with patch12:
View attachment 335447
It's a 40% increase in average and 12% in the lows.
The first gen x3d is a pretty decent cpu still.
However seeing those highend intel/nvidia results I am getting an itch to switch. I think with a finetunded ddr4 (they can have lower latencies, what I expet matters more then ddr5 bandwith) ram a 13th or 14th gen K processor at 5.8-6.0 Ghz could go under 1ms average and 5 ms in low. May be even with 6 cores. On the other hand I am also wondering if an rtx really push better. I don't know if or when but unity engine might use physics and that could be more advantageous than pure raster power.
Anyway, KUDOS for you @turtlebackgoofy!!
How can I test only baseline3 please? BenchMark v4 doesn't seem to have an option to test individual scenes.
 
Amazing in 1080P!!!
7500f-4080s-1080p-png.335553

7500f-4080s-%E5%BC%80%E8%A1%A5%E4%B8%811080p-png.335554

desktop 2K,in same time and same scenario,
AVG FPS went from 179 to 262,
GPU utilization from 72% to 98%
GPU Power from 242W to 290W
(4080S Maximum power is 320W)

%E5%BC%80%E8%A1%A5%E4%B8%81%E5%89%8D-jpg.335555

%E8%A1%A5%E4%B8%81%E5%8A%9F%E8%80%97-jpg.335556

The maximum refresh rate of my headset is 90Hz,so the true change is in baseline3,not the total avg.
from 84.58 to 88.07
7500f-4080s-5g%E6%97%A0%E7%BA%BF%E4%B8%B2%E6%B5%81-png.335557

7500f-4080s-vr%E8%A1%A5%E4%B8%81-png.335558
 
Last edited:
@Stars&Garters
very weird, your frame times in frames where there IS a physics update are faster than frames without. The CPU does everything very fast, then waits or does something for a long time and then starts the render. The render itself is also very fast. Everything is fast except what happens after all gamelogic and before the render:
View attachment 335533
I suspect getting the results of the GPU accelerated colliders calculation which were started in the frame with the physics update before take a long time.
Do you have like a very old nvidia driver? Could you update to the latest and test again?
And if that doesnt solve it, do you have bepinex installed? I could send you my MonoProfiler which can record exactly what takes a long time. That will probably show what delays your render every time.
I don't have the ability to check the Nvidia driver at the moment. Regarding Bepinex I previously had it installed as a requirement of using the zhfx mmd plugin, but only on my main install, and I'd gotten rid of it all anyways after switching to mmd2timeline. The ThreadProfile comes from the clean VAM install.

I'll try and do the driver update as soon as I get home though and let you know, but yeah if running the MonoProfile helps I'd do that too.
 
amazing results.
You are correct, RAM latency or a huge CPU cache matter most. I'm kinda unsure if vam2 will perform better on 7800x3d than on 14900k, since the new physx engine in unity might make better use of big cpu caches and do better prefetching. A higher IPC also means the CPU can predict and prefetch memory before it gets used.
A lower clocked memory with better latency is preferable ofc, since its not really much data beeing processed in the physics engine, just a lot of small bits.
Unity however will never support physx with GPU acceleration because 95% of their revenue is from mobile games and smartphones dont have a GPU.
Meshedvr should just use physx5 directly lol. He is using ComputeShaders for faster collision computation right now, because unity still doesnt support such a basic feature. ComputeShaders are kinda like a caveman version of CUDA.
So you suggest that staying outside of vr there should be no architecture preference for vam between radeon and rtx?
 
Another thing I noticed: if the benchmark doesnt load and stops at "loading character: jannie" check the error logs if you have a broken package with a message like "missing deltas". This also happens WITHOUT the patch.

The performance loss due to many installed vars is because every var's metadata gets cached into memory. The mono memory allocation has to search more memory to allocate new objects, which slows down every part of vam that does an allocation, but also slows down everything else since the RAM bus gets hogged by the allocator. There is nothing that could fix that except not use unity.
To lessen this impact, use https://hub.virtamate.com/resources/var-browser.27150/
 
Last edited:
@Stars&Garters
very weird, your frame times in frames where there IS a physics update are faster than frames without. The CPU does everything very fast, then waits or does something for a long time and then starts the render. The render itself is also very fast. Everything is fast except what happens after all gamelogic and before the render:
View attachment 335533
I suspect getting the results of the GPU accelerated colliders calculation which were started in the frame with the physics update before take a long time.
Do you have like a very old nvidia driver? Could you update to the latest and test again?
And if that doesnt solve it, do you have bepinex installed? I could send you my MonoProfiler which can record exactly what takes a long time. That will probably show what delays your render every time.

So I installed the MonoProfiler package as instructed and attempted to run it during the Benchmark, but there was no positive confirmation that my backspace key presses were doing anything to activate the script, and no CSV files were generated like they were for the ThreadProfiler.

I took a screenshot of my clean VAM directory just so we can verify a proper installation:
1708111986640.png
 
So I installed the MonoProfiler package as instructed and attempted to run it during the Benchmark, but there was no positive confirmation that my backspace key presses were doing anything to activate the script, and no CSV files were generated like they were for the ThreadProfiler.

I took a screenshot of my clean VAM directory just so we can verify a proper installation:
you also need to install bepinex itself first: https://github.com/BepInEx/BepInEx/releases/download/v5.4.22/BepInEx_x64_5.4.22.0.zip
the winhttp.dll and doorstop_config.ini should be in the directory with the vam.exe and you need to put zip\BepInEx\core folder into vamroot\BepInEx\
 
depending on your VR system (steamvr, oculus, whatever) slowly increase the numbers for VR until your CPUCore (8)
I am using Meta 2 with Virtual Desktop

I am not sure I've used correct settings for my 12700KF

To be honest it's my 3rd day I am doing tests. Even installed fresh VAM on the side. And with patch and no patch I see no diffrence.

But I am keep trying.

Do you think I use correct settings?

computeColliders=4
skinmeshPart=1
applyMorphs=1
skinmeshPartMaxPerChar=1
applyMorphMaxPerChar=1
affinity=1,2,3,4,5,6,7,8
 
I am using Meta 2 with Virtual Desktop

I am not sure I've used correct settings for my 12700KF

To be honest it's my 3rd day I am doing tests. Even installed fresh VAM on the side. And with patch and no patch I see no diffrence.

But I am keep trying.

Do you think I use correct settings?
did you read the FAQ? Is your FPS exactly 100% or 50% of your HMD refresh rate?
 
did you read the FAQ? Is your FPS exactly 100% or 50% of your HMD refresh rate?
I am not much a tech guy like you or the rest of the guys, so I am not sure where to find the answer about the % of my HMD refresh rate.

Where can I check that?

I did some changes in [Threads VR] and I think I have more FPS now, but latnecy increased to 75-80.

[threadsVR]
computeColliders=4
skinmeshPart=1
applyMorphs=1
skinmeshPartMaxPerChar=1
applyMorphMaxPerChar=1
affinity=1,2,3,4,5,6,7,8

I've attached my thread profile.
 

Attachments

  • ThreadProfile.txt
    8.1 MB · Views: 0
Back
Top Bottom