Relion’s translation parameters are a search range (per iteration) and a step size. The default is 1 pixel steps within 5 pixel radius. Each iteration a particle is moved to the best origin within 5 pixel radius of the current origin, at 1 pixel increments. Over multiple iterations it can move farther and farther. In local refinements I often start out with a finer translational search, like 0.5 / 3. Making the translation search narrower makes refinement a lot faster, so if I think the initial parameters are pretty good (previous resolution < 3 A), I might make the range a little smaller.
The angle parameters are roughly the average angle between test orientations. The values actually correspond to different HealPix grid orders. Relion helpfully prints the sampling needed for a given resolution given your particle diameter (mask diameter in Optimisation tab). Note the smaller the particle, the coarser the sampling for a given resolution. For a local refinement of most particles at reasonably high resolution around ~3 A, a value of 1.8 or 0.9 is appropriate. In auto-refine there is no angular search range parameter. The range is always +/- 6 * sampling. E.g. +/- 5.4 deg for 0.9 sampling.
And as you say, “initial sampling” must be at least as fine as “local searches from” in order to get local searches. One is the initial sampling, which will be advanced automatically as resolution improves across iterations. Local searches begin once the selected local search sampling is reached. Global searches are essentially guaranteed to fail here, so you need to use your good starting alignments for a local search. It’s important to preserve the random half-map assignments from the global refinement throughout your process. By default,
csparc2star.py should be doing that. I believe cryoSPARC will also do that for imported particles with angles.
Assuming you actually ran with the 0.5/0.5 setting in Relion, the difference is that in cryoSPARC you used a much wider angular search range - 10 deg instead of 3. Probably Relion will work if you do local refinement in 2-3 stages, first using 3.7, then 1.8, etc. (or 1.8, then 0.9 if needed). The search range will be wider in the first step and become narrower as you make sampling more fine.
Also, in both programs, you should set the initial low-pass resolution somewhat lower than achieved in the global refinement, like 6A if you got to 4ish. In Relion I also recommend you use “ignore CTF until first peak,” “solvent flattened FSC,” “mask with zeros,” “CTF corrected reference.” Only use “ref map on absolute greyscale” if the reference was reconstructed by Relion.
If you exhaustively try these sampling strategies and Relion always fails to converge like cryoSPARC, then I would conclude that blurring due to marginalization is responsible. However, in all my experience, both programs give very similar local refinement results with the right parameter choices. (And naturally, cryoSPARC is much faster).