Nvidia released a new driver today and since I have a bit of free time I gave it a try. This is the first driver that works as well as 296.10 with my GTX580. After the first install, I got the expected 10% render difference.
Then I spend some time searching through the "Internal" tab under preferences to find a way to further improve the system and I came across this setting "OpenCL Memory Size Filter" which has a default setting of 384; I assume MB. I changed it to the size of my GTX580 which is 1536MB and restarted VP12. To my surprise the render times are as good as with 296.10!
http://dl.dropboxusercontent.com/u/39278380/Internal_OpenCL.jpg
That little tweak did the trick! I also noticed a higher GPU Memory allocation when looking at my HWinfo64 compared to the default setting of 384. I tried to double the values from 1536 to 3072 since I have 2x GTX580 in my system but that made things worse; worse then CPU rendering.
I tried the same under Win8.1 which I have on a different partition and finally got equal render times under both OS with the same driver.
Maybe this trick will help more users then just me and even AMD/ATI users. SCS seemed to have overlooked this value. However, it seems pointless to set it at a higher value then the max. for one GPU. It may even help to set it lower if your GPU doesn't even have 384MB but there may not be many of those cards around anymore and I don't have one to test it.
I hope another user in this forum has the time to test and hopefully confirm my findings.
Edit: I haven't tested the new driver to its fullest; I only used the SCS benchmark project to test playback and render performance.
Then I spend some time searching through the "Internal" tab under preferences to find a way to further improve the system and I came across this setting "OpenCL Memory Size Filter" which has a default setting of 384; I assume MB. I changed it to the size of my GTX580 which is 1536MB and restarted VP12. To my surprise the render times are as good as with 296.10!
http://dl.dropboxusercontent.com/u/39278380/Internal_OpenCL.jpg
That little tweak did the trick! I also noticed a higher GPU Memory allocation when looking at my HWinfo64 compared to the default setting of 384. I tried to double the values from 1536 to 3072 since I have 2x GTX580 in my system but that made things worse; worse then CPU rendering.
I tried the same under Win8.1 which I have on a different partition and finally got equal render times under both OS with the same driver.
Maybe this trick will help more users then just me and even AMD/ATI users. SCS seemed to have overlooked this value. However, it seems pointless to set it at a higher value then the max. for one GPU. It may even help to set it lower if your GPU doesn't even have 384MB but there may not be many of those cards around anymore and I don't have one to test it.
I hope another user in this forum has the time to test and hopefully confirm my findings.
Edit: I haven't tested the new driver to its fullest; I only used the SCS benchmark project to test playback and render performance.