feat: memory leak

This commit is contained in:
mozzie 2024-09-19 10:59:20 +08:00
parent f2f7382fec
commit cc783768db
2 changed files with 14 additions and 11 deletions

View File

@ -7,7 +7,7 @@ export const initCornerstoneDICOMImageLoader = () => {
cornerstone.getConfiguration().rendering;
console.log("dddd", cornerstone.getConfiguration().rendering);
cornerstone.setUseSharedArrayBuffer(true);
cornerstone.setUseSharedArrayBuffer(false);
cornerstone.setConfiguration({
detectGPUConfig: {
// benchmarksURL: "http://localhost:9000",

View File

@ -13,6 +13,7 @@ import {
setVolumesForViewports,
volumeLoader,
Enums as CoreEnums,
cache,
} from "@cornerstonejs/core";
import {
IStackViewport,
@ -27,7 +28,6 @@ import {
viewportId1,
viewportId2,
viewportId3,
volumeId,
} from "./MprViewer/index.config";
import setCtTransferFunctionForVolumeActor from "./MprViewer/CornerstoneDicomLoader/setCtTransferFunctionForVolumeActor";
import { Slider } from "@/components/ui/slider";
@ -68,7 +68,7 @@ export const Viewer = () => {
const StudyInstanceUID = queryParams.get("StudyInstanceUID");
const [imageIds, setImageIds] = useState<string[]>();
const renderingEngineRef = useRef<RenderingEngine>();
const ts = "-" + Date.now(); // 每次都是新的volumeId
const volumeId = SeriesInstanceUID;
useEffect(() => {
cornerstoneTools.addTool(StackScrollMouseWheelTool);
@ -90,13 +90,13 @@ export const Viewer = () => {
wadoRsRoot,
});
// 这一步会对imageIds进行排序如果不排序imageIds会错误乱,stackViewport顺序会错误
const volume = await volumeLoader.createAndCacheVolume(volumeId + ts, {
imageIds,
});
const volume = await volumeLoader.createAndCacheVolume(
SeriesInstanceUID,
{
imageIds,
}
);
volume.load();
console.log("2222");
console.log(SeriesInstanceUID);
console.log(StudyInstanceUID);
const volumeViewportInput: PublicViewportInput[] = [
{
@ -152,7 +152,7 @@ export const Viewer = () => {
renderingEngineRef.current,
[
{
volumeId: volumeId + ts,
volumeId: SeriesInstanceUID,
callback: ({ volumeActor }) =>
setCtTransferFunctionForVolumeActor({
volumeActor,
@ -223,13 +223,16 @@ export const Viewer = () => {
ToolGroupManager.destroyToolGroup(toolGroupMprId);
ToolGroupManager.destroyToolGroup(toolGroupStackId);
cache.purgeCache();
console.log(cache.getVolume(volumeId!));
cornerstoneTools.removeTool(StackScrollMouseWheelTool);
1;
cornerstoneTools.removeTool(CrosshairsTool);
cornerstoneTools.removeTool(WindowLevelTool);
cornerstoneTools.removeTool(ZoomTool);
};
}, [SeriesInstanceUID, StudyInstanceUID]);
}, [SeriesInstanceUID, StudyInstanceUID, volumeId]);
const onChangeIndex = (value: number[]) => {
setIndex(value[0]);