Home » Developing U++ » U++ Developers corner » let's discuss new Draw principles and problems...
|
|
| Re: let's discuss new Draw principles and problems... [message #1003 is a reply to message #1002] |
Mon, 13 February 2006 13:35   |
jadeite
Messages: 42 Registered: January 2006
|
Member |
|
|
Firts, for those of us that are new, can you say -
- Is the 'new' Draw already implemented in current stable download, or is it only in uvs2/cvs?
- What is in the new Draw that is different from before?
What I would like:
- Fast, with anti-aliasing
- AGG support. Not necessarily as default, but optional. This is the way VCF does it. One line of code, and all of a sudden you are using AGG rendering for strokes and fills. It really is as simple as that. Nice for anti-aliasing, dashing, etc.
- Alpha blending/transparency in view area.
[Updated on: Mon, 13 February 2006 13:40] Report message to a moderator
|
|
|
|
| Re: let's discuss new Draw principles and problems... [message #1004 is a reply to message #1002] |
Mon, 13 February 2006 13:41   |
 |
mirek
Messages: 14290 Registered: November 2005
|
Ultimate Member |
|
|
Just to kickstart this discussion, I would like to list problems that I hope to solve:
- we need to enforce RGBA format as the dominant Image format. Current draw does not support alpha at any level. Host platforms support alpha images for raster bitmaps (starting with Win98).
- new Image will need new Icon designer.
- Text rendering should be redesigned, separating font information from Draw. Implementation should be improved to synthetise characters missing in Linux fonts.
Now of course comes evergreen question about advanced rendering capabilities. IMHO, this is two-headed problem:
- host platform support part - while Cairo and GDI+ are of course very nice, they fail to provide "runs out of box" guarantee
- meanwhile, dominant number of applications does not need advanced rendering at all
Makes me think there are two possibilities of advanced rendering (in fact, they are not mutually exclusive, so both can be sooner or later implemented):
- client-side advanced rendering, using direct access to the new RGBA surfaces. This has disadvantage of being quite a lot of work to do and not using hardware acceleration (OTOH, software can be pretty fast there as well). Advantage is that it would not require anything from the host platform, it would even allow using Draw on GUI-less machines (good for web servers). In fact, using some existing advanced rendering library here looks like quite a good option too (AGG comes to mind).
- using advanced rendering of host platform. That would involve having separate "DrawEx" package that would provide, for applications that need so, interface for host platform advanced rendering ops (GDI+, Cairo).
Mirek
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: let's discuss new Draw principles and problems... [message #1018 is a reply to message #1016] |
Tue, 14 February 2006 00:34   |
 |
fudadmin
Messages: 1321 Registered: November 2005 Location: Kaunas, Lithuania
|
Ultimate Contributor Administrator |
|
|
| luzr wrote on Mon, 13 February 2006 18:25 | How?
The only possibility is client-side draw (manipulating pixels in memory). Nice idea, but for some reason, some computers are too poor when transporting bitmaps from memory to VGA (as was shown by our tests - while other are perfectly OK to do so)
OTOH, as I have explained in the beginning, this is still one of options - but to do that, we need RGBA-dominant image. Working on it....
Mirek
|
What list of problems are exactly?
[Updated on: Tue, 14 February 2006 00:38] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: let's discuss new Draw principles and problems... [message #1025 is a reply to message #1024] |
Tue, 14 February 2006 12:12   |
 |
mirek
Messages: 14290 Registered: November 2005
|
Ultimate Member |
|
|
- We need RGBA because we need RGBA images. RGBA is simply the most generic format (well, theoretically we could also think about 8 bytes RGBA - 2 bytes per channel).
- From pumping perspective, on modern GPU (by modern I mean anything past 1998) the source format does not matter, as conversions are performed by GPU. However, it makes _huge_ difference for sofware rendering operations. What is even more important, you have to implement rendering just for single format.
- It is true that for rendering itself, HW acceleration does not matter. However, pumping to video memory can be bottleneck for many machines.
Actually, the original idea (valid for last year's plans) was exactly that - do everything in sofware. That was before you have run the tests on your machine, showing amazing 10fps pumping performance (worst case since that was 40fps on unodgs Duron and even that was barely acceptable, many machines are capable of 200+ fps on that test).
Another possible disadvantage of software rendering is that you cannot use it for printer (it would be too slow).
Yet another disadvantage is that software rendering places high(er) load on CPU (means higher overal power consumption - bad for laptops).
I believe that what we are working on now will provide reasonable compromise (default normal rendering, advanced software rendering where needed).
Mirek
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: Xara Xtreme Engine [message #3615 is a reply to message #3614] |
Wed, 07 June 2006 12:56   |
 |
fudadmin
Messages: 1321 Registered: November 2005 Location: Kaunas, Lithuania
|
Ultimate Contributor Administrator |
|
|
| CyberEye wrote on Wed, 07 June 2006 09:59 | Hello @ all!
This is my first posting here and I must say: Ultimate++ and TheIDE are very good! The concept is awesome! One little critic: The Ultimate++ Framework is this time less documented. But I know, that this task is work in progress. 
But now to the topic:
I have read, that there is a problem to find a good platformindependent Draw-Engine.
What do you think about "Xara Xtreme"?
http://www.xaraxtreme.org
It is Open-Source for Linux. But I think, you can adept the engine and use it for platformindependent implementation.
Or do you search an Engine, to draw the GUI itself? Such as GTK, GDI, ...?
friendly greetings
CyberEye
PS.: I'm from Germany, so do not critic my English much, please.
|
GNU licence means Generally Not Usable...
|
|
|
|
|
|
Goto Forum:
Current Time: Fri May 01 16:55:05 GMT+2 2026
Total time taken to generate the page: 0.00939 seconds
|