[Bf-committers] Icon scaling

Stephan Aßmus superstippi at gmx.de
Tue Nov 8 10:35:06 CET 2011


On 08.11.2011 04:08, Campbell Barton wrote:
> Firstly I think the main issue with getting this into blender is
> finding someone with the time who wants to work on this.

I was kind of offering to do it, but I would have to experiment with my 
rendering code, to implement the shape hinting in the first place. Or 
else it provides no benefit to scaled down bitmaps. I have no idea if I 
even have the time, but it's one of the things I would love to work on, 
and I just wanted to gauge interest after seeing that Blender could 
benefit from this.

> Regarding implementation -
> Even if the icons render fast, we would still need to pass them to
> OpenGL, while probably not _really_ slow doing this every draw, its a
> step backward from using a textures which are fast. I'd expect we
> would end up doing something similar to fonts where the vector data
> generates a texture at different sizes.

Yes, the generated bitmaps would have to end up in some cache, or it 
would be too expensive. One may even want to put them into a persistent 
cache so it doesn't slow down program startup each time. That being 
said, the rendering is really extremely fast. In Haiku, we do have an 
icon cache based on the resulting bitmaps in the file manager, but the 
first time icons are needed, they are loaded from disk as vector icons, 
parsed from the format into the shape data model and then rendered. It 
seems that the reduced disk size compared to PNGs or other formats, and 
thus faster loading time compensates the additional rendering time. At 
least I was careful not to introduce a perceptable delay when working on 
this stuff.

> However at this point we can probably just get away with using larger
> icons - 32x32 for eg - and it will be `good enough`,

That may indeed be the case.

> Something else to consider when updating the icon system is to allow
> addons to use their own icons.

To understand what problem you are referring to, I would have to become 
familar with the codebase. :-)

> btw -  With SDL1.3 you should be able to run blender, though I'm not
> sure how far along the SDL1.3 port is.

I was helping to mentor the GSoC project to port SDL 1.3 to Haiku, 
reviewing the patches and providing a lot of input. It's another item on 
my TODO list to help improve this more, but I am pretty sure our OpenGL 
implementation needs more work in general, SDL is just another client of 
that API and whether or not it is used directly or indirectly, it needs 
to improve. :-)

Thank you for your feedback!

Best regards,

More information about the Bf-committers mailing list