Для начала необходимо понять по какой причине ответ от сервера около 3 секунд.
Тут может быть проблема в настройках, слабом сервере или ещё чего из большого списка возможностей.
Далее нужно понять почему данные вы получаете 7-8 секунд.
Тут может быть как первая причина, так и просто неоптимизированный, кривой код. Опять же, разбираемся!
В любом случае нужно всю логику пихать в сервер, а клиенту отдавать уже готовые данные для отображения. Клиент не должен страдать из-за больших данных, тем более владельцы мобильных телефонов. Для них это будет ужс и они уйдут из вашего продукта.
PS: Я бы и сам не стал ждать такой долгой загрузки.
UPD:
Банальный пример из практики. У нас в проекте был очень старый код, который написан был лет 5 назад. Новички думали что просто сервер слабый. Но покопавшись в коде стало ясно, что код крайне неоптимизированный и мы его оптимизировали.
Раньше загружалось более 60 секунд (как правило уходил в таймаут. т.е. вообще не загружались при малом количестве фильтров по данным)
Стало: около 10-20 секунд.
И это те же данные...