Book not releasing memory

8 posts, 0 answers
  1. Steve
    Steve avatar
    3 posts
    Member since:
    Nov 2010

    Posted 12 Apr 2011 Link to this post

    When viewing documents that are presented to the desktop, the size of the iexplore.exe process continues to grow as each new page is loaded.   Eventually, the Internet Explorer crashes with an out of memory error.

    How can I tune the system to release the previous documents/pages from working memory as the user moves on to new pages/documents?
  2. Kiril Stanoev
    Admin
    Kiril Stanoev avatar
    1512 posts

    Posted 13 Apr 2011 Link to this post

    Hi Steve,

    Could you please share more information on your particular scenario. I tested RadBook by flipping its pages constantly for more than 5 min. and the memory consumption of the iexplore process never exceeded 43MB. Please take a look at this screencast as well as the attached project and let me know if  I am missing something.

    Greetings,
    Kiril Stanoev
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. DevCraft banner
  4. Steve
    Steve avatar
    3 posts
    Member since:
    Nov 2010

    Posted 13 Apr 2011 Link to this post

    Thanks for replying.  Your video shows the problem exactly!.  The memory of the iexplorer.exe process continues to rise as you flip pages.   What you are missing from your test is a 'real document' that is bigger in size than the empty page in your example.  My document pages are .png format and range from 70k to 200k.  It is not possible to compress them further.   When the users flip through the document, the memory size of the iexplore process quickly grows and exhausts the heap.

    Your example shows a iexplore process starting at 37k on page 0.
    page 4 - 38k
    page 15 - 39k
    page 26 - 40k
    page 40 - 41 k
    page 68 - 42k

    If Book was releasing the pages from memory after the user has moved on, then I would expect the process to stabilize at 38-39k, not continue to grow.  If you re-test with pages that have a bigger footprint then you will more clearly see the growth.

    All we need is a way for Book to release the previous pages from memory after the user has moved on.    

    Here is the code for my project:

    // add all pages from current set of documents to book
    foreach (Document doc in documents)
    {
        Canvas page = new Canvas();
        page.Background = new SolidColorBrush(Colors.White);
        Image pageDupe = new Image();
        pageDupe.MouseMove += new MouseEventHandler(Image_MouseMove);
        pageDupe.MouseLeftButtonDown += new MouseButtonEventHandler(Image_MouseLeftButtonDown);
        pageDupe.DataContext = doc;
        var b = new BitmapImage(new Uri(doc.Url, UriKind.RelativeOrAbsolute));
        pageDupe.Source = b;
        RadBookItem bookItem = new RadBookItem();
        RadBookItem bookItemDupe = new RadBookItem();
        bookItem.Content = page;
        bookItemDupe.Content = pageDupe;
        this.Book.Items.Add(bookItem);
        this.Book.Items.Add(bookItemDupe);
    }

  5. Kiril Stanoev
    Admin
    Kiril Stanoev avatar
    1512 posts

    Posted 14 Apr 2011 Link to this post

    Hi Steve,

    I've posted an answer to your support ticket. Take a look at it and let me know what you think. I'd be glad to further assist you.

    Regards,
    Kiril Stanoev
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  6. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 06 Aug 2012 Link to this post

    Hi,

    we have now the same problem.

    After loading 150 pages the RadBook control didn´t load any more. Because the Process consume 1.2 GB.We have a Collection of 800 Pages. Every Page is an Image. so how could we say to Rad control to hold only 16 pages inside .

    It only happens when we use 32 bit explorer. when i use 64 bit browser and 64 bit silver light Plug in we can consume more than 3 gb.

    Need some help here.


    OK ie 9 32 bit stop at 1,2 Gb
    Firefox 32 bit stop at 2.9 GB

    its mor but didn´t solve my problem.
    so any chance to say bokk to release memory and hold only a defined amount of pages in chache.
  7. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 08 Aug 2012 Link to this post

    Hi Tobias,

    I am not sure how you populate the RadBook control with items, but if you're populating its Items collection with RadBookItems, the control won't be able to use its UI Virtualization feature. This is why in the support thread you started, I suggested an approach where the ItemsSource collection is databound to a business collection. Please let me know if this approach works for you or if I'm missing something.

    All the best,
    Tina Stancheva
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  8. Webpiter
    Webpiter avatar
    1 posts
    Member since:
    Sep 2012

    Posted 26 Sep 2012 Link to this post

    I have the same problem with internet explore. exe. Its my main browser. frequently i use it for surfing the internet. But from the last few days i faced this crashing problem. please help me to fix this problem. Thanks in advance.
  9. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 01 Oct 2012 Link to this post

    Hello Webpiter,

    Unfortunately without further information, we can't say for sure what is causing the issues on your side. However, please keep in mind that the RadBook control has a built-in virtualization feature which can only be used if the control is populated with data items. Basically the UI Virtualization can only work when a control is databound, as the declaratively defined containers (in this case RadBookItems) can't be reused to improve the performance of the control.

    Also, there is a known performance issue when using the RadBusyIndicators inside the RadBook pages. This issue is logged in our PITS, where you can track its progress.

    If none of the above are causing the issue on your side, we'd appreciate it if you can send over a sample demonstrating your scenario and issues, so that we can investigate them on our side.

    Regards,
    Tina Stancheva
    the Telerik team

    Time to cast your vote for Telerik! Tell DevPro Connections and Windows IT Pro why Telerik is your choice. Telerik is nominated in a total of 25 categories.

Back to Top
DevCraft banner