Skip navigation
Currently Being Moderated

Switching from GPU to CPU

Oct 19, 2011 4:18 PM

Tags: #gpu #cpu #oilpaint

When I try to use Pixel Bender OilPaint on larger images( PSD or JPG), I get this advisory:

"Warning: Storage requirement for complex filters may overload GPU when processing large images. Please switch to CPU processing in issues are enountered." When the box for GPU is checked, I get a black screen. When I uncheck it, there are just garbled pixels. I haven't been able to find info on making the switch from GPU to CPU. Can it be done? Or do I just have to work with smaller images? Thanks for any info.



  • Currently Being Moderated
    Oct 20, 2011 2:11 PM   in reply to sfrickguy

    Unchecking the "Process on GPU" checkbox will process the image on the CPU. You should not get "garbled pixels" but maybe another error is occurring. You might try leaving the "Process on GPU" checkbox disabled, switching to another filter, and then switching back to OilPaint. What are the dimensions in pixels of the images you are trying to process? What OS are you using? How much memory is installed in your machine? What graphics card are you using and how much video memory is on the card?

    Mark as:
  • Currently Being Moderated
    Oct 21, 2011 3:59 PM   in reply to sfrickguy

    I would expect this to process correctly on the CPU although I would not expect it to be particularly fast. Are you running Photoshop in 64-bit mode? If not, you should give that a try. We do final render on the GPU regardless of whether the filter processing was done on the GPU so it's possible something is failing along the final render path. For the sake of experimentation, you might try applying the effect to the image (click OK to exit the plugin) using the CPU even though the preview is black. I know that won't help you much but it will help us diagnose the problem. I don't believe adding more RAM will solve the problem at this point unless by adding more RAM you mean buying a newer video card with more video memory. That's not something I'd recommend unless you're absolutely flush with cash and looking to blow it on hardware as you have a decent graphics card and your upgrade options are severly limited on the mac. You might try driving the Pixel Bender plugin (and the OilPaint filter explicitly) from outside the plugin via Extendscript or Photoshop actions. You might also try segmenting your image into smaller pieces, filtering those pieces, and then recompositing the pieces into a final image. The problem with that is that OilPaint's edge effects will likely produce noticeable seams along the edges that make recompositing the individual pieces difficult. You should also try entering the plugin in CPU mode--apply any filter to the image, undo the result, and then relaunch the plugin--and then switching to OilPaint so that you are never in GPU-processing mode. It's unlikely this will workaround your problem but it's worth a shot. You might also consider reporting the issue to Apple's tech support as the GPU side of the problem feels like a driver bug. I'll let you know if I come up with other suggestions and please let us know if you find a way to workaround the problem. Best of luck.

    Mark as:
  • Currently Being Moderated
    Oct 24, 2011 2:02 PM   in reply to sfrickguy

    Yes, the mode that Photoshop is launched in, 32- or 64-bit, is separate from the mode of the image, 8-, 16-, or 32-bit and should not be confused.


    I think your best option at this point is probably to go the scripting route. You can drive Photoshop and the OilPaint plugin from ExtendScript. The best way to get started with scripting Photoshop is to use the "ScriptingListener" plugin included in the Scripting directory which is located at the root of the Photoshop installation directory. Search for "ScriptListener" in the "Photoshop CS5 Scripting Guide" for information about how to use this plugin. You can playback scripts, once you've recorded them, from ExtendScript and customize them to do what you want. You may even be able to process on the GPU through this path. You'll lose the interactivity that comes from scrubbing parameters in the Pixel Bender plugin window but it sounds like that's not working for you to begin with so you're no worse off than when you started.


    You might also try applying OilPaint, in CPU mode and with the parameters set to their desired values, to a smaller version of your image and then reapplying the filter (Command + F) to the actual image thus avoiding the plugin dialog.


    Finally, you might try leaving the "Processing Timeout" dialog onscreen for five or ten minutes before clicking through it to see if processing has completed as I believe the dialog does not block processing. I'm not 100% certain whether we continue to process in the background so give it a try.


    I'll let you know if I think of anything else. Keep us posted on your progress.

    Mark as:
  • Currently Being Moderated
    Oct 26, 2011 6:26 PM   in reply to sfrickguy

    Glad to hear you've got a few workarounds


    With regard to the "timeout," are you saying you clicked okay to dismiss the dialog after forty-five minutes and then another dialog was presented or are you saying that the original dialog was still onscreen after forty-five minutes? How long does it take to process the fullsize image using the "Command + F" workaround and are you processing on the CPU or GPU in that case?


    I suggested the scripting option as a more powerful version of the "Command + F" workaround. You would be able to experiment with OilPaint and its parameters without having to invoke the plugin dialog. I think you can just stick with the "Command + F" workaround if it is working well for you; no need to spend any time on the scripting workaround at this point.


    Happy filtering.

    Mark as:
  • Currently Being Moderated
    Nov 4, 2011 12:10 AM   in reply to sfrickguy

    The should let the CPU / GPU mode be chosen before launching the PB Gallery.

    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points