Dolphin, the GameCube and Wii emulator - Forums

Full Version: OpenCL vs OpenMP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

SatansBestBuddy

Okay, so I've been trawling the forum looking for an answer to this question I have, and not finding one I figured I'd do the unthinkable and ask:

What is the difference between OpenCL Texture Decoding and OpenMP Texture Decoding, and do they work better when both are on or just one is on?

Currently I have both on and I haven't noticed any problems but I can't help thinking that I'm inadvertently handicapping myself by running both when I may only need one.
Ok, I'm going to say what I understand (could be wrong XD)
OpenCL is a texture decoder that uses your GPU.
OpenMP is a texture decoder that uses MULTIPLE cores from your CPU.
(Ok now for the even more guessy stuff Tongue)
So if you have a 2 core CPU and a fast GPU I would think that OpenCL would work better.
If you have a 4+ core CPU (even if you have a fast GPU) I would think that OpenMP would work better.
If you are unsure use OpenMP, but do not use both it is pointless.
Note: I would LOVE it if someone would correct me ^^
Nah, OpenCL shouldn't be used at all. Theoretically it would be fastest since it offloads texture decoding to the GPU, but due to some idiocy in the OpenCL API it's much slower than the normal, SSE optimized texture decoder.

OpenMP usually performs at about the same speed, some games however receive a great speedup from it.
I am surprised I didn't just get flamed Big Grin

SatansBestBuddy

Yeah, I got the gist of it from the explanation with the mouse over, I'm just wondering if the way they're programed compliments or contradicts each other.

I guess I'll just turn OpenCL off.

While I'm at it, is Cache Display Lists worthwhile?
(11-30-2011, 01:53 AM)SatansBestBuddy Wrote: [ -> ]While I'm at it, is Cache Display Lists worthwhile?

If you don't mind some glitches it can give a small speed up Wink
Quote:While I'm at it, is Cache Display Lists worthwhile?

No. It rarely provides any speedup, let alone a substantial speedup and there seems to be more games that have problems with it than those without.
How much sense would be to enable OpenMP with just 2 cores? To reduce stuttering, more specifically.

Could/will the OpenCL method be updated to perhapse work better in the future? I mean with an updated/tweaked/other API, if that makes sense - and if such is even known at this point in time.

Also, even though you say that OpenCL is slower, can it still reduce stuttering?
Only provides a speed up in some games and not very much.
(06-20-2012, 10:49 AM)Hippox77 Wrote: [ -> ]How much sense would be to enable OpenMP with just 2 cores? To reduce stuttering, more specifically.

Could/will the OpenCL method be updated to perhapse work better in the future? I mean with an updated/tweaked/other API, if that makes sense - and if such is even known at this point in time.

Also, even though you say that OpenCL is slower, can it still reduce stuttering?

There's not much point to enabling OpenMP with 2 cores. Dolphin will see that you have two cores and auto-disable OpenMP anyways.

We hope OpenCL can be improved in the future. Maybe the textures can be decoded and kept on the GPU instead of getting downloaded from the GPU to RAM and loaded back into the GPU.

I don't think OpenCL can reduce stuttering unless your CPU is not capable of SSE2.
Pages: 1 2