kimjelyoung

- The Unreal Engine uses version 4.22.3
- Spin Runtime uses 3.7 Beta. Because of the addition of UMG widgets.

I have built and tested a simple sample after integration,
but after allocating memory, the allocation might fail.

<Test case>
- Play spine with umg
- Play spine from 3D Actor
- Play by adding a spine to the level sequence
- Skin change.


<call stack>
UE4Editor-Core.dll!rml::internal::ExtMemoryPool::initTLS(void) 알 수 없음
UE4Editor-Core.dll!scalable_realloc() 알 수 없음
UE4Editor-Core.dll!FMallocTBB::Realloc(void * Ptr, unsigned __int64 NewSize, unsigned int Alignment) 줄 134 C++
UE4Editor-Core.dll!FMemory::Realloc(void * Original, unsigned __int64 Count, unsigned int Alignment) 줄 52 C++
[인라인 프레임] UE4Editor-Engine.dll!TAlignedHeapAllocator<0>::ForAnyElementType::ResizeAllocation(int) 줄 273 C++
UE4Editor-Engine.dll!TArray<TStaticMeshVertexUVsDatum<FVector2DHalf>,TAlignedHeapAllocator<0> >::ResizeTo(int NewMax) 줄 2475 C++
[인라인 프레임] UE4Editor-Engine.dll!TArray<TStaticMeshVertexUVsDatum<FVector2DHalf>,TAlignedHeapAllocator<0> >::Reserve(int) 줄 2069 C++
UE4Editor-Engine.dll!TStaticMeshVertexData<TStaticMeshVertexUVsDatum<FVector2DHalf> >::ResizeBuffer(unsigned int NumVertices, EResizeBufferFlags BufferFlags) 줄 40 C++
UE4Editor-Engine.dll!FStaticMeshVertexBuffer::Init(unsigned int InNumVertices, unsigned int InNumTexCoords, bool bNeedsCPUAccess) 줄 52 C++
UE4Editor-Engine.dll!FStaticMeshVertexBuffers::InitFromDynamicVertex(FLocalVertexFactory * VertexFactory, TArray<FDynamicMeshVertex,FDefaultAllocator> & Vertices, unsigned int NumTexCoords, unsigned int LightMapIndex) 줄 561 C++
UE4Editor-ProceduralMeshComponent.dll!FProceduralMeshSceneProxy::FProceduralMeshSceneProxy(UProceduralMeshComponent * Component) 줄 147 C++
> UE4Editor-ProceduralMeshComponent.dll!UProceduralMeshComponent::CreateSceneProxy() 줄 721 C++
UE4Editor-Renderer.dll!FScene::AddPrimitive(UPrimitiveComponent * Primitive) 줄 1146 C++
UE4Editor-Engine.dll!UPrimitiveComponent::CreateRenderState_Concurrent() 줄 534 C++
UE4Editor-Engine.dll!UActorComponent::RecreateRenderState_Concurrent() 줄 1340 C++
UE4Editor-Engine.dll!UActorComponent::DoDeferredRenderUpdates_Concurrent() 줄 1410 C++
UE4Editor-Engine.dll!UWorld::SendAllEndOfFrameUpdates::__l2::<람다>() 줄 1032 C++
[인라인 프레임] UE4Editor-Engine.dll!UE4Function_Private::TFunctionRefBase<UE4Function_Private::FFunctionRefStoragePolicy,void __cdecl(void)>::operator()() 줄 614 C++
UE4Editor-Engine.dll!ParallelForWithPreWork(int Num, TFunctionRef<void __cdecl(int)> Body, TFunctionRef<void __cdecl(void)> CurrentThreadWorkToDoBeforeHelping, bool bForceSingleThread) 줄 221 C++
UE4Editor-Engine.dll!UWorld::SendAllEndOfFrameUpdates() 줄 1047 C++
UE4Editor-Engine.dll!UReflectionCaptureComponent::UpdateReflectionCaptureContents(UWorld * WorldToUpdate, const wchar_t * CaptureReason, bool bVerifyOnlyCapturing) 줄 1045 C++
UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) 줄 1628 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) 줄 403 C++
UE4Editor-Win64-DebugGame.exe!FEngineLoop::Tick() 줄 3967 C++
[인라인 프레임] UE4Editor-Win64-DebugGame.exe!EngineTick() 줄 62 C++
UE4Editor-Win64-DebugGame.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) 줄 168 C++
UE4Editor-Win64-DebugGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) 줄 261 C++


<watch>
- this 0x0000021b8cd50b80 (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UProceduralMeshComponent * {UE4Editor-SpinePlugin-Win64-DebugGame.dll!USpineSkeletonRendererComponent}
- [USpineSkeletonRendererComponent] (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UE4Editor-SpinePlugin-Win64-DebugGame.dll!USpineSkeletonRendererComponent
+ UProceduralMeshComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UProceduralMeshComponent
+ NormalBlendMaterial 0x0000021978a20100 (Name=0x0000021960e0227c "SpineUnlitNormalMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
+ AdditiveBlendMaterial 0x000002197cfda080 (Name=0x0000021960e0221c "SpineUnlitAdditiveMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
+ MultiplyBlendMaterial 0x000002197cfd8100 (Name=0x0000021960e0224c "SpineUnlitMultiplyMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
+ ScreenBlendMaterial 0x000002197cfc2080 (Name=0x0000021960e022ac "SpineUnlitScreenMaterial") UE4Editor-SpinePlugin-Win64-DebugGame.dll!UMaterialInterface * {UE4Editor-Engine.dll!UMaterial}
+ atlasNormalBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
+ pageToNormalBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
+ atlasAdditiveBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
+ pageToAdditiveBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
+ atlasMultiplyBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
+ pageToMultiplyBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
+ atlasScreenBlendMaterials Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TArray<UMaterialInstanceDynamic *,FDefaultAllocator>
+ pageToScreenBlendMaterial Num=1 UE4Editor-SpinePlugin-Win64-DebugGame.dll!TMap<spine::AtlasPage *,UMaterialInstanceDynamic *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<spine::AtlasPage *,UMaterialInstanceDynamic *,0> >
DepthOffset 0.100000001 float
+ TextureParameterName 0x000002197264e21c "SpriteTexture" UE4Editor-SpinePlugin-Win64-DebugGame.dll!FName
+ Color {R=1.00000000 G=1.00000000 B=1.00000000 ...} UE4Editor-SpinePlugin-Win64-DebugGame.dll!FLinearColor
bCreateCollision false bool
+ worldVertices {_size=0 _capacity=2048 _buffer=0x0000021a1a5a14c0 {-17.0780182} } UE4Editor-SpinePlugin-Win64-DebugGame.dll!spine::Vector<float>
+ clipper {_triangulator={_convexPolygons={_size=0 _capacity=0 _buffer=0x0000000000000000 {???} } _convexPolygonsIndices=...} ...} UE4Editor-SpinePlugin-Win64-DebugGame.dll!spine::SkeletonClipping
- UMeshComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UMeshComponent
+ UPrimitiveComponent (Name=0x000002190d06ded4 "SpineSkeletonRenderer") UPrimitiveComponent
+ OverrideMaterials Num=1 TArray<UMaterialInterface *,FDefaultAllocator>
+ MaterialParameterCache {Pairs=Empty } TSortedMap<FName,UMeshComponent::FMaterialParameterCache,FDefaultAllocator,TLess<FName> >
bEnableMaterialParameterCaching false bool
bCachedMaterialParameterIndicesAreDirty true bool
+ IInterface_CollisionDataProvider {...} IInterface_CollisionDataProvider
bUseComplexAsSimpleCollision true bool
bUseAsyncCooking false bool
+ ProcMeshBodySetup 0x0000021923759000 (Name=0x0000021938125074 "BodySetup"_0) UBodySetup * {UE4Editor-Engine.dll!UBodySetup}
+ ProcMeshSections Num=1 TArray<FProcMeshSection,FDefaultAllocator>
+ CollisionConvexElems Empty TArray<FKConvexElem,FDefaultAllocator>
+ LocalBounds {Origin={X=4.87440491 Y=1.05000007 Z=171.654266 } BoxExtent={X=132.183334 Y=1.05000007 Z=178.352768 } ...} FBoxSphereBounds
+ AsyncBodySetupQueue Empty TArray<UBodySetup *,FDefaultAllocator>
You do not have the required permissions to view the files attached to this post.
kimjelyoung
  • Posts: 3

badlogic

Thank you for providing all this information and reporting the issue. I've tried to create the setup you described in your post to reproduce the issue. However, I was unable to see the memory leak you see.

Could you send me a UE4 scene using the spine-ue4 3.8-beta runtimes from our GitHub repository?
User avatar
badlogic

Mario
  • Posts: 1936

kimjelyoung

I wrote personal message to you with download link.
Check it please.
kimjelyoung
  • Posts: 3

badlogic

I saw the personal message, it links to a 2GB zip. Please just send me the scenes/levels, not the entire project with compiled binaries and artifacts.
User avatar
badlogic

Mario
  • Posts: 1936


Return to Runtimes