"git@gitlab.riscosopen.org:RiscOS/Sources/Kernel.git" did not exist on "0b904557bc20bc28d2914222ff2a1f3bde8de3f7"
[308] SpriteOp 11 (merge sprite areas) gets slow for large numbers of sprites
Jeffrey Lee authored
Detail:
  s/vdu/vdugrafh - Rewrite MergeSpriteAreas so that memory movement is now O(N) instead of O(N^2). Checking for duplicate sprites is still slow (O(N^2) search), but this resolves the main performance bottleneck with the code.
  s/vdu/vdugrafg - Add a variant of SpriteCtrlBlk which skips the call to GetName; this helps MergeSpriteAreas for the common case of a dest area with lots of sprites and a source area with a handful of sprites (SpriteCtrlBlk is now called on the source area once per dest sprite, previously was called on the dest area once per source sprite).
Admin:
  Tested on Raspberry Pi 1, merging Sovereign theme Sprites11 file with itself (2.2MB file, 358 sprites)
  Old code took 860cs, new code takes 18cs (15cs of which appears to be loading the second copy of the file, judging by *SLoad timings)


Version 5.35, 4.79.2.321. Tagged as 'Kernel-5_35-4_79_2_321'
0b904557
Name Last commit Last update
Dev Make OS_Memory 8 return more correct values
Doc Kernel merged
Docs Cache maintenance fixes
NewModes Add support for the new RISC OS 5 style sprite mode word. Add partial support for alpha channel sprite masks. Implement OS_ScreenMode reasons 13-15
Resources/UK Add SWI error pointer validation, SeriousErrorV hooks, and OS_ReadSysInfo 15
TestSrc Adopt some switches from Hdr:Machine/Machine
h Header defs for Pi Compute module and IIC
hdr Add new OS_PlatformFeatures reason code for reading CPU features (inspired by ARMv6+ CPUID scheme). Add OS_ReadSysInfo 8 flags for indicating the alignment mode the ROM was built with. Fix long-standing bug with OS_PlatformFeatures when an unknown reason code is used.
o Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
rm Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
s [308] SpriteOp 11 (merge sprite areas) gets slow for large numbers of sprites
.gitattributes Added 'UnConv' error (see also HdrSrc).
BlackLog Initial revision
Changes Import from cleaned 360 CD
HelpStrs Adoption of *CONFIGURE/STATUS CACHE commands
LICENSE Clean reimport of hdr.RISCOS (real commit date 2008-03-28 by bavison), without any of the 3rd party allocations.
Makefile Complete removal od SPIDevice
MkClean,fd7 Mostly device stuff.
MkExport,fd7 Import from cleaned 360 CD
MkInstall,fd7 Added a disc install phase as an analogue of the export phase
MkRom,fd7 Makefile recreated from fragments
Version Back to odd numbered development
VersionASM [308] SpriteOp 11 (merge sprite areas) gets slow for large numbers of sprites
VersionNum [308] SpriteOp 11 (merge sprite areas) gets slow for large numbers of sprites