View Issue Details

IDProjectCategoryView StatusLast Update
0002548NoesisGUIC# SDKpublic2023-03-29 17:38
Reportersfernandez Assigned Tosfernandez  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status assignedResolutionopen 
Product Version3.2.0 
Summary0002548: Memory management improvements
DescriptionIn order to reduce memory allocations there are a few things we can improve in our C# implementation and API.

* String UTF8 -> Unicode conversion:
 -- use pre-allocated buffer whenever possible to avoid creating new memory on each conversion
 -- study the possibility to cache conversion for some or all strings

* Event args:
 -- can't use structs because inheritance won't be possible then
 -- study the possibility to pool the allocation of this objects

* DependencyPropertyChangedEventArgs OldValue/NewValue:
* DependencyObject GetValue/SetValue:
 -- avoid boxing by providing a <T> version
 -- should be used in all our interactivity classes

* IValueConverter Box/Unbox:
 -- study the possibility of using Unsafe.Unbox<T> + pool of boxed values
TagsNo tags attached.


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-03-29 17:11 sfernandez New Issue
2023-03-29 17:11 sfernandez Assigned To => sfernandez
2023-03-29 17:11 sfernandez Status new => assigned
2023-03-29 17:38 jsantos Severity minor => feature