View Single Post
Old 21 April 2020, 21:04   #3293
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,366
Update to icon.library 46.4.531:

A lot of optimization for the TrueColor modes. There are two buffers for both images now. The 2. image will not be uncompressed anymore to examine it before it is drawn (I call that UnderCover mode) The new buffer for the 2. image is created as soon as you select an icon and released when the unselected icon is drawn again, if that is visible in the window. In addition, you can use a new optional command "HoldTCbuffer1" to make the slow icon dragging of the Workbench a little faster, but with a charge of higher memory consumption. All memory is always freed as soon as the window is closed. This new buffer concept can improve speed between 15% on fast machines and 70% on slow Amigas. Even on a cycle-exact emulated A1200@14 the icon loading is already quite good, but WB's dragging routines are still damned sluggish. The WB does countless unnecessary function calls like hundreds of GetIconRectangle(), IconControlA() and DrawIconState() also for all non-selected icons if you just move a few icons around, but I can't fix that. An Amiga with 30-40 MHz and a gfx-card should be able to use TrueColor icons now. Sorry, DOpus5 and the old WB 3.1 won't profit from these changes.

On Aros 68k with Wanderer the disk icons are now also updated when you change the screen mode from RTG to 8-bit or planar. And there are other fixes. Aros can not re-use these buffers yet, because unlike WB it overwrites the ARGB buffers when merging of foreground and background is done. WB writes into the background RGB buffer. I may fix that in the next version. Btw, with another call of "HoldTCbuffer1" it would release the 1. images again after drawing. Atm, the use of these buffers is sometimes limited to images with up to 248 colors, because I'm storing two pointers in the highest 8 bytes of the CLUT. An expanded PalMap structure in the next Aminet release will probably solve this space problem. It's very hard and boring to test each and everything, so please report any new or old bugs.

Have fun ...

Last edited by PeterK; 22 April 2020 at 11:16.
PeterK is offline  
 
Page generated in 0.04312 seconds with 10 queries