Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
529 Discussions

Memory leak on Intel GPU affecting all web browsers

pgranjal
Beginner
522 Views

Hello,

This post is a follow up from this comment to explain a bit more our case.
I'm posting in this forum but I could move this elsewhere if it's more appropriate.

We are a medical imaging software company providing a web viewer, XploreViewWeb, for medical imaging especially for CT scan and MRI images which needs to be viewed as 3D volume.
To do so we're using a library named cornerstonejs which is widely used worldwide by most web viewer.

The problem comes from the JS function `gl.textSubImage3D()` which is translated later by all major browsers (from the angle project) to `DeviceContext::UpdateSubresource()` on Windows since D3D11 is being used by default.

We tried to workaround this but there isn't much you can do on JS.
We could use `gl.texImage3D()` but that's not really practical, requires to download all images before being able to render, need to pre-build the volume in RAM before sending to GPU which is costy, and would require to detect GPU used to apply the workaround which is not really something you can do on web sandbox.
And really we're building a volume from slice data which is exactly the purpose of `gl.textSubImage3D()`.
Another workaround is to change an advanced property on some browsers to not use D3D11. But this is not viable for a large scale of non-tech users, let aside security politics preventing changes of such settings.

About the number of affected user, it's hard to say but it is huge, let's see why :

  • from our end we got hundred of reports and we currently have 20K+ physicians and 1M+ patients using our viewer. We don't know precisely how many are on intel GPU but, from the reports, we know for sure it's not marginal.
  • Cornerstone has several posts about this (here and here for example) and OHIF (which is the open source viewer counter part) also has posts about it. Again we don't know precisely the numbers but those projects are widely used worldwide.
  • a new french project named DRIMBox is being developed to share medical imaging across the country for all french physicians and patients. During test sessions we could see all web viewers were affected not just ours. Here we're on a scale of millions of total users, which should still translate to some millions of affected users using Intel GPU.
  • problem being indirectly part of the Angle project (there is also an issue on their forum about it.) any web application using `gl.textSubImage3D()` is affected since Angle is the backend used by all major web browsers.

You can find a very simple and minimal reproduction here .
Or using the OHIF Viewer, changing the layout (on top) to MPR will produce the memory leak.

Labels (1)
0 Kudos
4 Replies
karen_intel
Moderator
447 Views

Hi @pgranjal thanks a lot for the information and welcome to our dev support forum

I was able to repro the memory leak in Edge and Chrome.

Allow me to do some more triage and I'll report back tomorrow, stay tuned 

Karen

0 Kudos
pgranjal
Beginner
284 Views

Hello @karen_intel,

Were you able to progress on this ?

0 Kudos
karen_intel
Moderator
264 Views

Hi @pgranjal YES! Sorry for the delay , small update

We've been doing some triage and we're also creating an internal report for the driver team
I will share the ID as soon as possible, thank you for your patience 

Karen

0 Kudos
karen_intel
Moderator
243 Views

@pgranjal here's the internal report number for the memory leak you have reported: 14025017247

I've made sure to include the impact you included in the description. If we need anything in particular I'll let you know here.

We are also creating an article to inform the community we're already aware of this behavior. I'll post the URL after it has been created.

Thank you for your help.

Karen

0 Kudos
Reply