diff --git a/src/Index.re b/src/Index.re index a21ff2b32c..d81cb3f69f 100755 --- a/src/Index.re +++ b/src/Index.re @@ -532,6 +532,8 @@ let registerNoWorkerInitJob = JobAPI.registerNoWorkerInitJob; let resetDisposeCount = ReallocateCPUMemoryJobAPI.resetDisposeCount; +let reallocateGeometry = ReallocateCPUMemoryJobAPI.reallocateGeometry; + let initGeometryBufferData = ReallocateCPUMemoryJobAPI.initGeometryBufferData; let reAllocateToBuffer = ReallocateCPUMemoryJobAPI.reAllocateToBuffer; diff --git a/src/api/job/ReallocateCPUMemoryJobAPI.re b/src/api/job/ReallocateCPUMemoryJobAPI.re index 40c06c009b..0e64c2fe5c 100755 --- a/src/api/job/ReallocateCPUMemoryJobAPI.re +++ b/src/api/job/ReallocateCPUMemoryJobAPI.re @@ -21,7 +21,7 @@ let reAllocateToBuffer = (newBufferData, state) => { newBufferData, RecordGeometryMainService.getRecord(state), ) - |. Some, + ->Some, }; let initGeometryBufferData = ({settingRecord}) => { @@ -35,6 +35,9 @@ let initGeometryBufferData = ({settingRecord}) => { ); }; +let reallocateGeometry = (percent, state) => + ReallocateCPUMemoryJobUtils.reallocateGeometry(percent, state); + let resetDisposeCount = state => { ...state, geometryRecord: diff --git a/src/job/utils/ReallocateCPUMemoryJobUtils.re b/src/job/utils/ReallocateCPUMemoryJobUtils.re index 4f5983436f..95b823fca7 100755 --- a/src/job/utils/ReallocateCPUMemoryJobUtils.re +++ b/src/job/utils/ReallocateCPUMemoryJobUtils.re @@ -22,7 +22,7 @@ let reallocateGameObjectByDisposeCount = state; }; -let _reallocateGeometry = ({settingRecord} as state) => { +let reallocateGeometry = (percent, {settingRecord} as state) => { ...state, geometryRecord: Some( @@ -34,7 +34,7 @@ let _reallocateGeometry = ({settingRecord} as state) => { settingRecord, ) || QueryCPUMemoryService.isGeometryBufferNearlyFull( - 0.9, + percent, geometryRecord, )) { geometryRecord.disposeCount = 0; @@ -49,4 +49,4 @@ let _reallocateGeometry = ({settingRecord} as state) => { }; let execJob = state => - state |> reallocateGameObjectByDisposeCount |> _reallocateGeometry; \ No newline at end of file + state |> reallocateGameObjectByDisposeCount |> reallocateGeometry(0.9); \ No newline at end of file