Plus que la durée que l'action comme le suggère Cyril, je pense qu'il faut faire la différence entre action principale et subalterne. A priori l'action principale se retrouve dans le gérondif, mais il n'y a pas vraiment de règle, et cela permet aussi d'exprimer la nuance en fonction de l'ordre.
Il marche en dormant -> il est somnanbule.
Il dort en marchant -> il est fatigué de ses 50 km marche...
Il réfléchit en mangeant -> il est à table, mais son esprit est ailleurs
il mange en réfléchissant -> il mange sur le pouce au travail