locked
What can make StorageApplicationPermissions.futureAccessList.add() so expensive?

    Question

  • I notice that StorageApplicationPermissions.futureAccessList.add() costs 500 - 1000 ms on Surface RT.  I know Surface RT is on the low end, but we are talking about adding just one entry to a list on a modern computer. Is there anything to improve the performance? 


    Hong


    Wednesday, April 16, 2014 11:15 AM

Answers

  • I don't think so.

    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.

    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.

    • Marked as answer by Hong (MA, USA) Wednesday, April 16, 2014 8:43 PM
    Wednesday, April 16, 2014 8:16 PM
    Moderator
  • Hello,

    This is a known limitation of the FutureAccessList.Add. Due to the interactions with the out of process runtime broker it can take some time for the transaction to complete. Would making the "add" async be helpful?

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    • Marked as answer by Hong (MA, USA) Wednesday, April 16, 2014 10:42 PM
    Wednesday, April 16, 2014 10:26 PM
    Moderator

All replies

  • I don't think so.

    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.

    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.

    • Marked as answer by Hong (MA, USA) Wednesday, April 16, 2014 8:43 PM
    Wednesday, April 16, 2014 8:16 PM
    Moderator
  • Hello,

    This is a known limitation of the FutureAccessList.Add. Due to the interactions with the out of process runtime broker it can take some time for the transaction to complete. Would making the "add" async be helpful?

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    • Marked as answer by Hong (MA, USA) Wednesday, April 16, 2014 10:42 PM
    Wednesday, April 16, 2014 10:26 PM
    Moderator
  • Thanks for the elucidation, James.

    Making it async would be helpful for some situations.  Let me tell you one scenario that that I was using it though not anymore.  I used it to pass folder and file information conveniently among classes that are not tightly linked (please forgive me for not taking too much space to get into details here).  I just passed tokens which are simply strings. It worked fine on a fairly powerful desktop dev machine for a few dozen items, but certainly unacceptable on a Surface RT.  Thank goodness that I tested the update on the Surface before releasing it. Now I still use FutureAccessList because there is no way to avoid it completely, but only sparingly.


    Hong

    Wednesday, April 16, 2014 10:41 PM
  • Hello Hong,

    Thanks for the addition information I have raised this with the access group. They will consider this change for the next version of the operating system.

    Thanks again,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, April 18, 2014 8:36 PM
    Moderator