Child process inherits nvidia profile from parent

I have an application I’m writing that needs an Nvidia GPU to run because of some advanced OpenGL extensions it’s using. I’ve added a profile in the 3d Settings section of the Nvidia Control panel, and set it to use the High-performance Nvidia processor.

My issue arises on machines with multiple GPUs, say, an on-board Intel and additionally an NVidia gtx 1060. If I run my application standalone, all is fine. However, my application can also be opened through Adobe After Effects (launched via a call to ::system() or the like). And if After Effects is using the on-board (and I cannot control this), then my application will also be told to use the on-board, regardless of its profile in 3d Settings.

  1. What is going on here? Why is it inheriting?
  2. How can I prevent this, and make sure that my application opens with the Nvidia GPU, regardless of what its parent process opened?

Thanks in advance. Also, wasn’t sure this is the right subtopic to post in; please advise if there is a more appropriate one.

Checking in.
Does anybody have an idea about this?