First of all, great job! I'm currently trialing and it's looking really great. My question is related to the content within the generated epg.

My device is a woefully underpowered Sony Bravia Android TV (please don't ask ) and I'm looking for ways to improve the channel load performance within spmc / the iptv simple client. Due to the performance limitations of this device I expect I will be limited to a maximum of 100 channels for a decent user experience at load time.

Question: is there any way to limit the number of hours within the epg? i.e. I could probably sacrifice and live without most of the history and future for channels within the epg - 12 hours in either direction would likely be good enough for me.

It is not possible to limit the EPG right now, but it's a good idea for a new feature.
I will ask the programmers if it's possible.
I moved this topic into the feature request forum.

It's funny, because I have also a Sony Bravia KD-65XD7505 and it has 2GB RAM, just like the Amazon FireTV I have (2nd generation) for the second TV in my bedroom and I have actually no performance issues on both devices. If there is some buffering, then on both TVs at the same time, which lets me conclude that it must be my IPTV provider.

I have 179 channels in my EPG and it doesn't affect the performance of the IPTV in any way.

My TV is a UK spec KD-65XE8596 2017 model. IPTV generally does work ok with no buffering in spmc on this device with an epg pulled directly from my IPTV service provider and their m3u trimmed as much as it can be via url query string params. That said, this still results in 1286 channels being loaded and I'm sure you can imagine this takes some time to load on spmc initial launch. Once loaded spmc is a bit sluggish but live streams do work ok.

Early testing today with iptv-epg has shown that it's going to be much more spritely using an optimized m3u / epg. It's going to be much better even without the new epg range adjust feature that we're discussing here.

My nvidia shield can cope fine, it's just the poor Sony Bravia that I spent a fortune on that crawls along. I'd say: very nice screen, shame about the Android TV user experience.

Hi,
Just bumping this with a new suggestion.
What if you could offer just 2 options for everyone (for example 3days/7days) instead of allowing everyone to pick any number of days they like?
Would this help to limit server resources usage?
It would be helpful for low memory scenarios. The GZIP option reduces the size of the download but EPG has to be decompressed on the client side anyway - mine is 30MB (250 channels) and is crashing Smart IPTV on WebOS (one year old LG TV). Reducing the number of channels helps but I'd rather have 3day EPG for 250 channels than 7day EPG for 100 channels.