i got 6970 and run with 365Mhash/s and no oc but when i overclocked it , the hash turn down to 310 Mhash/s . anyone can explain it?
In many cases if your overclock puts you in a stability position where your voltage selected isn't enough to stabilize the GPU, then you actually lose speed due to lack of stability. often you will find this occurs just before you start to induce crashing if you keep turningthe speed up w/o a change in voltage... Also, if voltage and speed are at a given setting, and 'should work' then you need to check heat and see if that is an issue. Heat as well will destabilize, and give an environment which would lower your scores as the card tries to cope.. (think VRM heat and lack of stable power, or chip heat - more rare)
Two other cases to consider - power throttling and memory speed throttling
a: power throttling occurs because 69xx cards can have there TDP limited, in this case the power is being artificially limited by more then just a voltage setting, this was introduced so that you wouldn't burn your card up in things like Furmark.. it simply limits the cards overall power draw at some level.. turn this up, and it may stabilize, and give expected results.
(Can be found in CCC, there will be a setting labeled Power Control Settings with a slider between -20 and +20.... try adjusting that to the right... Be careful. Especially if for example its heat thats got you down, this won't help.)
b. memory bus speed throttling.. the 69xx cards have avery fast ddr5 memory bus, however it to can have issues when overclocked (less a concern with mining as the mem bus doesn't even need to be stock i know) however, when card starts to detect errors, it will actually slow the mem bus down effectively to bring it out of an error generating state, rather then passing errors on... So in away it will use speed to ECC...
Hope that helps you.
If i help.. donate if you like