To my understanding ccminer calculates hashes massively in parallel which means if vardiff switches, ccminer still going to submit a chain of hashes which have lower difficulty.
I can't see any other explonation why we have massive chains of rejecteds always only after vardiff changes. I might be completely wrong.
Edit:
djm34's explonation:
What I think is that it solve several share within a cycle and don't report them all (or they somehow get overwritten) I need to investigate that in detail (I am pretty sure the problem also exist in keccak)
To my understanding ccminer calculates hashes massively in parallel which means if vardiff switches, ccminer still going to submit a chain of hashes which have lower difficulty.
I can't see any other explonation why we have massive chains of rejecteds always only after vardiff changes. I might be completely wrong.
Edit:
djm34's explonation:
What I think is that it solve several share within a cycle and don't report them all (or they somehow get overwritten) I need to investigate that in detail (I am pretty sure the problem also exist in keccak)
that wouldn't cause a duplicated share problem but rather a stale problem (meaning a valid hash which doesn't corresponds anymore to the actual data the pool wants to get solved...).
An other solution, is that I go way over the max nonce value and I loop all over again a second time (actually this can happen however in this case it should just loop infinitely without sending anything at all).
I will soon have more time to look into that, but for the moment I really don't have time...
edit: may-be reducing the max number of thread could help, but this would also decrease the gpu usage...