It was a little more complicated than that. In 1997 there were effectively four stoppers per hour, the two Woking stoppers operated by 455s and terminating in Platform 3. There were, however, also two Guildford (1tph) or Haslemere (1tph) stoppers which skipped Esher, Hersham and Byfleet and New Haw and were operated largely by VEPs (one of the three Haslemere diagrams was CIG-operated). These had a clockface 15-min interval out of Waterloo (09 and 39 to Woking, 24 to Haslemere, 54 to Guildford).
So perhaps one reason behind the opening of P3 was to improve the frequency of local stopping services to Woking, allowing 2tph to terminate there along with 2tph still running to Guildford.
This was retained in 1999 under the recast though the two Guildford stoppers both terminated at Guildford, due to 4tph fast to Guildford all continuing south thereof. They also now called at all stations Surbiton to Woking, giving all stations on this stretch 4tph off-peak. These were still VEPs. The pattern was retained until September 2003 when the Guildford terminators disappeared, leaving most local stations on the Surbiton-Woking stretch with 2tph again (though one Alton per hour called at West Byfleet to compensate).
Thus the 1999-2003 period had 6tph between Woking and Guildford for a time. I actually thought that 1999 timetable was really quite ingenious, more impressive in fact than the 2004 timetable in terms of tph. The only critique I would have of the 1999 timetable was the odd and inconsistent calling patterns south of Guildford - some stations had two trains in 15 mins then nothing for another 45 - and the attempt to run all 4tph to Portsmouth (terminating one at Haslemere and making the calling patterns more consistent from the outset would have made more sense).
Could do with a Woking - Guildford (or Haslemere) shuttle to fill in the gaps, which can be annoying (particularly when connecting).
The Portsmouth Direct could do with a recast I think, rather than the current rather strange "pre-Covid-with-holes" timetable.
I wonder whether they could return to earlier 80s/90s patterns and have one fast, one semi-fast (Farncombe, Godalming, Haslemere, Petersfield, Havant, Fratton, PSS, PH), a stopper to PH which is looped at Guildford to allow the fast to overtake, and a fourth train which terminates at Guildford. The latter two could perhaps take over the Walton, Weybridge and West Byfleet calls from Basingstokes and Altons, speeding up the latter.