1. Euphoria API...

Hello to all...

I have been working on an API and have a bare bones of
the entity mamgement side of things going. I'm not
sure of the speed of other API's, but with the current
code (totally unoptimised) it can create and kill 3000
entities in 0.5 seconds (that's one parent and two
children * 1000, killing the children one by one then
the parent. It would be faster still to just kill the
parent). Note that this time is not including the GUI
side of things, just the creation of the memory
structures for the entities. (There is no GUI yet)

There are some things I need to be able to continue
work on this:
 1) a font character rasterizer for scalable fonts for
the GUI.
 2) help with porting to Linux (which I know nought
about)

The font rasterizer would be best if it works
clockwise around the glyph, as this would allow .TTF
files to be used.


There are also some questions relating to how people
like to do things. These are purely related to how
programmers prefer to do it - the API is happy either
way.

Should an entitie's text string (eg. the button text)
be sent to the entity creation routine as a pointer to
a null-terminated string, or as a string which is
loaded into a null-terminated string by the creation
routine? The first option requires more work for the
programmer, but saves memory if the same string is
being used more than once. How should it be done?

Is it allowable (acceptable) to have the height and
size values sent as a 4-byte number, with the two
values (x,y) or (width,height) as the high and low
words of that nubmer? This makes the max allowable
positions sizes for entities to around 1.29 billion
pixels - not too limiting I don't imagine. It is
possible to have the size or position sent as
seperated values an then thrown together by the
creation routine, but this would resize any entity
larger than 1.29 billion pixels to that figure


If this sounds at all useful and you can help with
anything above, please let me know.

Thanks a lot
- Mike Fowler
__________________________________________________
Do You Yahoo!?
Thousands of Stores.  Millions of Products.  All in one place.
Yahoo! Shopping: http://shopping.yahoo.com

new topic     » topic index » view message » categorize

2. Euphoria API...

Somehow I managed to do my maths all wrong. Dammit.

The correct figure for the width and height limits is
65536 pixels. That's still plenty by my reckoning for
the average application.

Another fact poped up - I ran the speed test and
killed the parent only (which kills it's children
before itself) - as opposed to killing all the
children and then the parent - and it takes a smidgen
longer. Also the API takes abou twice the time to
complete the test under Windows (approx. 0.9 sec fo
1000 under windows) which stinks.

Sorry about the mistake.
- Mike Fowler
__________________________________________________
Do You Yahoo!?
Thousands of Stores.  Millions of Products.  All in one place.
Yahoo! Shopping: http://shopping.yahoo.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Euphoria API...

Mike Fowler wrote:

>  1) a font character rasterizer for scalable fonts for
> the GUI.

Sounds a bit like FreeType.

>  2) help with porting to Linux (which I know nought
> about)

Could you be more specific about the sort of help you are talking about? Are
you thinking of writing an X Window application, or a full-screen
application? I've got some of the XLib stuff mapped, although much of the
xlib.h stuff needs to be corrected.

What's this coded in? From your description of null-terminated strings, it
sounds like you are talking about coding in C, not Euphoria.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

4. Euphoria API...

David Cuny replied to Mike Fowler:

> >  1) a font character rasterizer for scalable fonts
> Sounds a bit like FreeType.

Thanks, I'll see what I can find on it.

> >  2) help with porting to Linux (which I know
> Could you be more specific about the sort of help
> you are talking about?

I'm not really sure about the Linux side of it. I may
have to get hold of a dist and have a play with it to
see what area to go for there.

> What's this coded in? From your description of null-
> terminated strings, it sounds like you are talking
> about coding in C, not Euphoria.

I am coding in Euphoria, but am storing all entity
data in memory (peeked ad poked) rather than in a
sequence, so strings need an ending marker, and I
chose null-termination (for C compatibility and
allowing string lengths over 255)

There may end out being some parts done in C yet.
Depends which methods I choose and what is fastest,
and which way is easiest for the end user.

Thanks a lot,
- Mike Fowler
__________________________________________________
Do You Yahoo!?
Thousands of Stores.  Millions of Products.  All in one place.
Yahoo! Shopping: http://shopping.yahoo.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu