2 is harder to implement and has requirements of storing data. The amount of data is qual to number of players times number of threads. The problem is that this is not a constant. This number grows in time (with more players and more threads).
And it still cannot tell you which posts are new and which are not. It can only highlight the threads that contain new posts. It however doesn't suffer from issues mentioned above (issues about 1).
3 is hard to implement like 2, but has more storing requirements. We would need storing data equal to number of players times number of posts, wich is also not a constant. Since number of posts >> (much more) number of threads, this option needs, indeed, more data to be stored.
In this case we could highlight any new posts. So this option covers our needs perfectly, but has large storing requirements.
Which option to pick is an open discussion...