<br><br><div class="gmail_quote">On Sat, Nov 6, 2010 at 1:07 AM, yotam barnoy <span dir="ltr"><<a href="mailto:yotambarnoy@gmail.com">yotambarnoy@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">><br>
> About the MetaEngine class: If we have a plugin build querying<br>
> MetaEngine for options every time an user opens a options dialog doesn't<br>
> seem what we would like to do, so I guess if we want to use that we also<br>
> need to think of some kind of proper caching logic, especially for small<br>
> devices. Of course that is rather implementation specific now, but it<br>
> might be still something to consider when evaluating how to do that.<br>
><br>
<br>
</div>I agree. Assuming the one-plugin-at-a-time mode which we are working<br>
towards, so long as we can tolerate a delay while the plugin is loaded<br>
into memory as the tab/options dialog is opened, it's ok. The problem<br>
is that EVERY time the user returns to the tab/opens the options<br>
dialog, the delay will be there as we have to unload the plugin right<br>
away to prevent memory fragmentation. Therefore, we may really want a<br>
caching mechanism, as you suggest.<br>
<font color="#888888"><br>
Yotam<br></font></blockquote><br></div>I'm not familiar with the plugin system myself, but how long does it take to load and/or unload a single engine plugin? My understanding from the past is that the plugin system is slow only if you try to iterate through all the plugins for such things as detecting which game a folder contains. So surely the extra time to load a plugin into memory when you open the options dialog wouldn't be noticable, would it? Also, it's not as if users will keep opening and closing the options dialog, so even if it's a little slower, I don't see that it would be a major issue.<br>
<br>Paul.<br><div style="visibility: hidden; left: -5000px;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup{position: absolute;z-index: 9999;padding: 0px 0px;margin-left: 0px;margin-top: 0px;overflow: hidden;word-wrap: break-word;color: black;font-size: 10px;text-align: left;line-height: 130%;}</style>