Generally, on long-haul flights food is served shortly after start and then again shortly before landing. As a rule, the higher the class, the closer to takeoff/landing the food will be served. Because there are less people in higher classes, it's faster to go around with the drinks first.
The airline usually try to have the longest possible time in which the passengers are not disturbed by food service. They will "wake you up" again about 1-2 hours before the landing and serve the Breakfast.
But whatever their method is, it might be a good idea to have some food in the airport just because it will take some time to serve you food, even if they try to serve you as fast as possible.
If this flight takes off at 12:45, it will take roughly one hour until the airplane is in the air and has the fasten-seat sign off. Then they will start serving food. Starting with drinks and so on, it can take another hour or even two until you get your food on the back-most seat in Economy class. So if you did not have lunch, it might be challenging to wait until as late as 15:00. So having something for lunch first might be a good idea.