another trick to avoid tracing over large distances is recycling nearby raytraces that go in a similar diection as the current one an storing them in a buffer , so each voxel or pixel needs a dedicated trace of a very short distance a la tomorrow children , but i think you have already implemented it and because of that you think that using distance fields is not worth being implemented?