Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-dd-dev] Memory service questions

Same thing here. I tried it in both Linux and Windows. The number of refreshes seems to be tied to the number of renderings so I get 1-2 refreshes per scroll (for the non-traditional ones).

On Tue, Oct 21, 2008 at 11:58 AM, Pawel Piech <pawel.piech@xxxxxxxxxxxxx> wrote:

Jesper Eskilson wrote:
Francois Chouinard wrote:

I didn't experience this problem when the service was designed but things
might have changed since. I will try to reproduce it and come back to you.
Other than opening a memory monitor and scroll it, is there anything special
about your use case?

One problem seems to be that DsfMemoryBlock does not use it's own cache if the update-policy is set to Automatic:

   private boolean isUseCacheData()
       if (fUpdatePolicy.equals(DsfMemoryBlock.UPDATE_POLICY_BREAKPOINT))
           return fUseCachedData;

       if (fUpdatePolicy.equals(DsfMemoryBlock.UPDATE_POLICY_MANUAL))
           return fUseCachedData;

       return false;

This means that the DsfMemoryBlock implementation will invoke fetchMemoryBlock() for each time it's called (and when I dragged the scrollbar, I got something like 1000-2000 identical requests in a row).

Is this a bug, or an oversight?

No this is actually intentional.  The cache in the memory block is used to implement the manual update policy where the memory view is updated only per request.
BTW, can you elaborate more on what memory rendering you're using?  When I put a trace in the Memory.getMemory(), I only see it being called once with the Hex rendering, and on the order of 10 or 100 times with the Traditional rendering.  I never see it called 1000s of times.


dsdp-dd-dev mailing list

Back to the top