Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iPhone, iPod Touch, and iPad RIVA Client 1.6 Submitted to app store
#31
MikeA Wrote:I am loading 20 images at a time in low res and it takes an agonizing amount of time.
Have you explicitly selected small images in the media browser? Otherwise you are still sending the full size images and the RIVA client is rescaling them after...

Quote:3. No ability to use web widgets, which makes controlling a device with a nice web based control difficult.
You already have access to a native browser, unlike a touch screen where you are not really expected to switch from the CQC client...
Field Generator 0.65: Create CQC fields on the fly, from external applications.
Mobile templates 0.4: Main resolution of 320x480 with navigation side bars (384x544).
Sage Media Server 1.1.3 + Sage Player 2.7.8: Display and manipulate SageTV information or player.
TaRIVA 1.26: Android RIVA client.
Reply
#32
Check the CAB and make sure it's set up to use the small images, not large images. That may be part of the issue. By default I think it uses the large images, since it's not a problem on a wired client, but that often means it's downloading images way bigger than they need to be for the CAB.

Oops, he beat me to it...
Dean Roddey
Explorans limites defectum
Reply
#33
I have unselected the large image box in the media browser widget. Is there another place where I have to select small cover art? I know that this box makes a difference and the large images, while easier to see, take even longer.
As for the native browser, that defeats the whole point of having a nicely integrated UI. Having to start up another program isn't going to work for the casual user of my system. How do you explain that to them so they remember how to do it when they use it infrequently? The whole point of having the embedded browser is to keep everything in the same UI and structure. Switching from the CQC client doesn't make sense. The RIVA client is supposed to act like a touch screen, ala Crestron/AMX.

Fonceur Wrote:Have you explicitly selected small images in the media browser? Otherwise you are still sending the full size images and the RIVA client is rescaling them after...


You already have access to a native browser, unlike a touch screen where you are not really expected to switch from the CQC client...
Reply
#34
For the IPhone, at least, I think a web widget would be do-able.

You can embed a safari window in an IPhone app just like the IV embeds an Internet Explorer window. RIVA would just need to pass the URL and window dimensions, then I would think the IPhone RIVA could throw up a Safari window (with all that implies, no Flash, no Java, etc.).
Wuench
My Home Theater/Automation Website

[THREAD=5957]BlueGlass CQC Config[/THREAD]
[THREAD=10624]Wuench's CQC Drivers[/THREAD]
Reply
#35
It's doable in theory, but it would require a huge special case to the RIVA protocol, which currently works purely at the graphic rendering level. Graphic rendering operations are just vectored off to the client for drawing. There's nothing the protocol or the way it works that would allow for telling the client about actual template widgets. So it would be a big thing to change in that way, and that's not something that could be done in the short term.
Dean Roddey
Explorans limites defectum
Reply
#36
There are some features that add more transparency into the image cache in the latest version of the app. To use:

1) Go to a template that loads media images. Do they load frustratingly slowly, one at a time, across your CAB?
2) When the template is done rendering, touch the screen with 4 fingers and select disconnect.
3) Select the 'downloads' button to go to the image cache viewer.

There are 3 separate image caches:
1) Regular Images
2) Media Images
3) Web Images

For each you should see a list of images, with thumnbnails, memory/disk usage, server, and serial number (you may have to turn to landscape orientation on an iphone to see the whole entry). You also have the option to delete individual items or an entire cache at a time.

In this list, a check mark indicates that the image will be cached to disk. Each cahce has a limit on the number of elements stored that operates on a FIFO basis as well as a limit on the size of an element that will be cached. There are different rules for each cache that determine what will or won't be cached in an attempt to optimize across various use cases.

You can see this in action by force-exiting the app (double-tap the home button to get the multi-task menu, hold the icon until it wiggles, then hit the minus sign).

Start the app again, and view the cache. Your images should still be there, and your template should load the images nearly instantly. If the images aren't there, they weren't cached for some reason, likely because they are too big.

For my mymovies template, I uncheck the 'use large images' box and the images are ~3k each, well under the caching limit. They don't look very good, but the fast loading is more important to me.

For my squeezebox templates that use web images rather than media images, there is no way to control the size, so often the images aren't cached. This adds a lot of frustration, and to be honest, mostly I use iPeng for music. It is very annoying to switch back to CQC to change the volume, but the fast app switching at least makes this tolerable - RIVA hangs onto the connection in the background pretty well these days (at least for me).
Reply
#37
Thanks
I am using the small images, and they are generally pretty small, like yours in the 3K +/- range.
It still takes a several seconds to load a page (20 images) if it isn't cached. If trying to scroll through many pages, this can be really annoying. Especially, since you can't tell if the button press was even accepted, and then you wait and figure out that the button press wasn't recognized.
What would be nice is to be able to have RIVA preload a series of images into the cache in the background while other things are going on. Not sure if this is possible, but pre-fetching would really make the user experience much better. Of course, you might once in a while ask for some image that hasn't been pre-fetched yet, but that would be unlikely.
My movie collection is nearing 1000 movies right now, and 1000x3k~=3Mbyes. On an iPad/iPhone with 16GB, there should be no problem caching 3Mb of images. Even the large images would probably be ok, since they average around 100K, which would 'only' take up 1000x100k=100MB in the cache.
If they were all there in the cache already, as you point out, the page would load essentially instantly.
Anyway, just thinking out loud without much understanding of what is possible in the RIVA iPhone/iPad environment.
Mike


SamVimes2 Wrote:There are some features that add more transparency into the image cache in the latest version of the app. To use:

1) Go to a template that loads media images. Do they load frustratingly slowly, one at a time, across your CAB?
2) When the template is done rendering, touch the screen with 4 fingers and select disconnect.
3) Select the 'downloads' button to go to the image cache viewer.

There are 3 separate image caches:
1) Regular Images
2) Media Images
3) Web Images

For each you should see a list of images, with thumnbnails, memory/disk usage, server, and serial number (you may have to turn to landscape orientation on an iphone to see the whole entry). You also have the option to delete individual items or an entire cache at a time.

In this list, a check mark indicates that the image will be cached to disk. Each cahce has a limit on the number of elements stored that operates on a FIFO basis as well as a limit on the size of an element that will be cached. There are different rules for each cache that determine what will or won't be cached in an attempt to optimize across various use cases.

You can see this in action by force-exiting the app (double-tap the home button to get the multi-task menu, hold the icon until it wiggles, then hit the minus sign).

Start the app again, and view the cache. Your images should still be there, and your template should load the images nearly instantly. If the images aren't there, they weren't cached for some reason, likely because they are too big.

For my mymovies template, I uncheck the 'use large images' box and the images are ~3k each, well under the caching limit. They don't look very good, but the fast loading is more important to me.

For my squeezebox templates that use web images rather than media images, there is no way to control the size, so often the images aren't cached. This adds a lot of frustration, and to be honest, mostly I use iPeng for music. It is very annoying to switch back to CQC to change the volume, but the fast app switching at least makes this tolerable - RIVA hangs onto the connection in the background pretty well these days (at least for me).
Reply
#38
iPad1 and iPhone 3g/s have 256mb of RAM; iPhone4 and iPad2 have 512mb. The amount available to any particular app is far less than that, and iOS will simply shut your app down and reclaim the memory if it thinks you are using too much. When and how that happens is quite unpredictable and depends a lot on what else is going on on the device. Various mysterious problems through the development of iRIVA (and other projects) have been solved by lowering the amount of memory we let it try to use.

This is why, in the current architecture at least, the cache can't be too big - the bigger the cache, the bigger the risk the app simply closes when loading it into memory. This problem is not unique to iRIVA - iOS dev forums are littered with threads about this, and the answer is always the same: "a less responsive app is better than one that crashes (unpredictably)".

A compounding issue is the 1-at-a-time nature of image downloading through the RIVA protocol. When images aren't cached, they have to retrieved over the wire one after the other. This contributes the poor user experience significantly in my opinion. We've discussed with Dean making this more parallel, but that comes with its own issues neither side have tackled yet.

RIVA is an impressively conceived and executed protocol on Dean's part, and iRIVA is an impressively executed client implementation (if I may say so on Brian's behalf) but the fact remains that they weren't really designed for each other. Dean is very responsive; I think we may see better solutions in the future for CQC on iOS.
Reply
#39
Mike, have you tried running the C++ RIVA client (from the Start Menu) from some wireless Windows machine? That can be a good sanity check to help divide and conquer in terms of making sure where various slowness issues might be coming from. If you see any slowness there, it might point to wireless network connection quality or possibly some CQC RIVA server backend slowness or something. Taking care of these might not fix all your problems, but it's good to know how much is here and how much is there.

Of course as an initial sanity check just run it form a wired client and see how it does. And if there's a way to wire up your iPad, also do that as a sanity check to see how it performs wired.
Dean Roddey
Explorans limites defectum
Reply
#40
Dean
There isn't a wired solution for the iPhone/iPad, so that path to check the wireless link performance isn't possible.
I can confirm that when I am using RDP, with 20 large images per page, that the refresh on the iPhone/iPad is essentially instant. I know all the hard graphics work is being done on my CQC server, but the relatively large amount of data in the created images, 20 of them at ~100KB each, would suggest that the wireless throughput isn't the problem.
I don't own a Windows based laptop anymore, so I can't compare the wireless performance of the Windows RIVA client to the iPhone/iPad RIVA client.
Anyway, my focus for the time being is going to be on going back to RDP, and using RIVA for the casual connection. RDP solves the three listed issues in my leadoff to this thread quite nicely, but I am sure I will find issues down that path as well.
Thanks again.
Mike


Dean Roddey Wrote:Mike, have you tried running the C++ RIVA client (from the Start Menu) from some wireless Windows machine? That can be a good sanity check to help divide and conquer in terms of making sure where various slowness issues might be coming from. If you see any slowness there, it might point to wireless network connection quality or possibly some CQC RIVA server backend slowness or something. Taking care of these might not fix all your problems, but it's good to know how much is here and how much is there.

Of course as an initial sanity check just run it form a wired client and see how it does. And if there's a way to wire up your iPad, also do that as a sanity check to see how it performs wired.
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  iPhone 6 Plus Resolution jokermac 51 28,946 08-03-2016, 03:33 AM
Last Post: jkmonroe
  Anyone want to take over the CQC iPhone apps? brianmount 46 27,702 06-14-2016, 06:05 AM
Last Post: potts.mike
  Lost my iPhone connectivity rtarver 0 3,018 11-20-2015, 06:05 PM
Last Post: rtarver
  Basic RIVA Questions TurboSam 15 13,036 01-08-2015, 08:29 PM
Last Post: Dean Roddey
  CQC Riva App Iphone 6 zra 14 11,683 11-28-2014, 07:29 PM
Last Post: Dean Roddey
  iPad Blank and Blanker setup issues Deane Johnson 1 4,231 11-24-2014, 09:18 AM
Last Post: Dean Roddey
  How to get Ipad to refresh? Deane Johnson 1 4,137 11-08-2014, 10:01 AM
Last Post: Dean Roddey
  What size template for iPad? Deane Johnson 2 4,295 11-07-2014, 08:46 PM
Last Post: Deane Johnson
  New CQC user, trouble getting iPad to connect Deane Johnson 3 4,777 11-07-2014, 03:39 PM
Last Post: Deane Johnson
  Riva Client login credentials fail finish.06 2 5,589 08-21-2014, 06:39 AM
Last Post: finish.06

Forum Jump:


Users browsing this thread: 1 Guest(s)