Thanks Mark and Support.
I have followed what you have said and looked to see if there are any referenced presentation rules (Item Display Rules) and that none of them refer to any shortcuts or referenced attributes. I do have item display rules but they only refer to attributes of the appointment object itself so the problem doesn't lie there.
Time to run a couple of tests.....
I ran the scheduler in the operation mode and run a timer to see how long it would take to load. It took 2 mins 24 seconds. That's around 1800 appointments to load and display.
I looked again at all of my 'Business Rules' within the Appointment object. I have a lot of rules in there, more than 100, so I found some more ways to optimise them to avoid them firing unnecessarily and ended up at a point where no rules should fire unless the Appointment was either new or had been changed in some way by a user. This made a slight difference and brought the load time down to around 2 mins.
Next I wondered what would happen if I turned off all business rules in the appointment object and so I went through and disabled each and every rule.
I ran the scheduler again and it loaded in around 20 seconds! Amazing!
So now the question I have is why are business rules seemingly being evaluated or slowing down the loading of the scheduler? Surely business rules do not need to be considered or invoked when just displaying the results of a query as I assume that's all that is happening in the background? If all of my business rules have conditions then I guess the slowness in load time is caused purely by evaluation of the conditions of the rules and not the execution of the actions of the rules themselves as they shouldn't even get to a point of action execution.
How can I fix this or work around this or is this a "bug"?
Thanks