Op 3/28/2019 om 11:40 PM schreef Anthony Walter:
Here is a brief follow up. I am working on other projects at the moment, but I am confident this a simple solution. Please tell me if this somehow will not fit you needs.
My needs are simple:

- auto clean like dynamic arrays.
- preferably transparent with all existing mechanisms.
- performance is important so no getters and setters (the units are pixels, and getters and setters in such cases slow down too much). - I mostly align for SSE/AVX not DMA, so my alignment is typically 64byte, I'd rather not use special functions that don't allocate via the pascal suballocator, that would only
increase fragmentation

However currently I have stowed the alignment requirement away in a few classes which are manually specialized versions of a generic one for different pixel size derive/specialize (*), so while I'm an alignment user,
I'm not the best motivation to pull it in language.


(*) 8-bit grayscale and 24-bit RGB have manually specialized classes, the rest uses an generic, which optimizes not as well in Delphi, but good enough for all but the most extreme speed. The 24-bit RGB case is also due to bugs in older (<=XE6) Delphis that
don't deal well with pointer math of 3-byte types.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to