View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001869||NoesisGUI||C# SDK||public||2020-12-29 18:22||2020-12-30 12:29|
|Target Version||3.1||Fixed in Version|
|Summary||0001869: Noesis internal cache management of resources prevents client modification|
|Description||We have a file manager which allows customers to manage their files and displays a thumbnail layout similar to a typical smart phone. We generate thumbnails for those files like this (where file.FullName is the full path to the file on disk):|
BitmapImage thumbnail = new BitmapImage(new Uri(file.FullName));
I believe from our earlier conversations, this results in a texture which is cached in the framework’s memory? If so, I believe we need a way to clear the cache for a specific texture by name.
Here is an example of our problem:
1. Recall an image with annotations on it
2. Delete those annotations
3. Save that image but overwrite the original (so the filename is the same)
4. View the thumbnails in the file manager
• Even if I get a new BitmapImage for that file, it’s the same as in step #1, not the modified one I would expect to have been produced by step #3.
• Perhaps BitmapImage could take a parameter to overwrite cache or a separate call to clear the cache for a specific key?
Could you please report this in our bugtracker because it is due to an internal cache we are managing for images that is probably not required. We need to think about it but crearly is something we shouldn't be doing as this kind of cache can be implemented from outside by the user (in the texture provider, or by creating a cache of BitmapImages).
|Steps To Reproduce||1. Load an image into Noesis internal cache like this:|
BitmapImage thumbnail = new BitmapImage(new Uri(pathToFile));
2. Modify the file on disk at pathToFile
3. Load the file again
>> Image does not reflect the modified file