RAS pre-computes an elevation-volume table for each cell. So it knows the minimum elevation in the given cell and it knows the elevation for which the cell is completely wet. In between these two elevations it will compute some additional points so that for a given elevation it knows how much volume of water there is in the cell. This elevation-volume table is based on the sub-grid. For a large 2D area, it can take a while to compute, but it only needs to be computed once. (But it has to be re-computed if the mesh is adjusted, for instance.)
If you go to RAS Mapper and right click on a cell and select Property > Cell Volume, you can see the elevation/volume relationship. It uses (or rather interpolates) this table for determining continuity when the cell is half filled. So when it is doing the 2D computations, it does not have to go back to the sub grid.