Normally the fuel loading is checked by adding the fuel loaded to the fuel on board at the end of the last flight. That is then compared to the gauge indications. There's a graph that shows the allowed variation, and it isn't a fixed percentage. Sometimes a difference might exist, that is outside of the limits, but, if it corresponds to confirmed APU running time, it may be allowed.
If it's outside of the limits, or some part of the measuring system is u/s, then a 'stick check' will need to be done. This will involve actually measuring the amount of fuel at numerous measurement points on the tanks, and then matching that up to the gauge readings. I don't know the exact number of points but there are quite a few, so whilst 3 hours seems long, it doesn't totally surprise me.
Once under way, we'll compare the start fuel - fuel burned, to the totaliser figures. Common sense says the lowest is normally the one you accept, but sometimes the loss of a component might force you to go to one or the other (loss of a sensor in a tank, or perhaps loss of a flow meter sensor).