WebGL뿐만 아니라 모든 GPU 코드가 컴퓨터를 고정시킬 수 있습니다. 문제는 CPU와 달리 현재 GPU가 선점되지 않는다는 것입니다. 즉, 30 분의 작업을 수행하면 30 분 동안 해당 작업을 실행하게되며 CPU로 수행 할 수있는 것처럼 다른 작업을 수행 할 수는 없습니다. (멀티 태스킹 없음)
좋은 OS의 솔루션은 CPU가 시간 초과를 실행하고 GPU가 너무 오래 걸리면 OS가 GPU를 재설정 (효과적으로 다시 부팅)합니다. Windows는 Windows Vista 이후로이 작업을 수행했습니다. macOS는 최근에 추가 된 것 뿐이며, MS와 같은 상황에서 복구 할 수있는 OS를 설계하지 않았기 때문에 모든 작업을 처리하는 데 오랜 시간이 걸립니다.
좋은 점은 의도적으로 수행 할 인센티브가별로 없다는 것입니다. 컴퓨터를 잠그는 웹 사이트를 방문하면 아마 그 사이트를 방문하는 것을 멈추게됩니다. 사람들이 사이트를 방문하기를 원하기 때문에 문제는 일반적으로 스스로 수정됩니다.
반면 shadertoy와 같은 사이트에서는 사람들이 매우 길고 복잡한 쉐이더를 작성하는데, 실제로는 톱 엔드 GPU에서만 실행되도록 설계되었으며 일반 노트북 GPU에서는 실행되지 않도록 설계되었습니다.
최대한 멀리 할 수 있습니다.
그렇지 않으면 브라우저가 할 수있는 것이 많지 않습니다. The browser has no idea if the shader is going to be fast or slow before it runs it.