Commit Graph

59 Commits

Author SHA1 Message Date
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Cedric BAIL 6549ab12ce * evas: fix potential race condition with FT_Activate_Size and threaded rendering.
SVN revision: 47419
2010-03-24 11:07:37 +00:00
Carsten Haitzler c0baeaeb68 1. fix fcfini issue i hit - yes . things may look like they leak in valgrind
- they dont. in reality.
2. major text rendeering speedups. up to 41% in textblock intl, 33% in
textblock basic, 12-20$ in other text rendering tests. generic eina hash's
are just tooo slow for what we are doing there. specialised "Fash"
blocked-array.
3. still LOTS of optimisations left.



SVN revision: 45829
2010-02-03 11:18:00 +00:00
Carsten Haitzler 37b66e806b new gl engine. no one uses it anyway. not 100% complete, but much better than
the old. and it ALSO does GLES2.0 as well asn GL.



SVN revision: 42982
2009-10-09 12:10:27 +00:00
Tom 39b6c9148c From: Tom <tom@stosb.com> (tasn)
Hey raster,

Here is the non intrusive patch I talked to you about. Please apply it as it
introduces some fixes, some improvements and mostly and underlying
infrastructure for future RTL improvements.

(note hebrew & yiddish seem fine, but things expedite test seems to show are
wrong (why i don't know as i dont speak the langs- just comparing to pango /
gtk output):

arabic seems lsightl wrong (maybe composition chars not working?)
gujarati - also seems wrong
malayam - also looks wrong
persian - looks wrong
sinhala - looks wrong
tamil - looks wrong

these are what, appear to me, to look wrong. why they look wrong, i don't
know. i'm guessing its compositiong not being handled. but i dont's peak,
read or write any of these languages so i am unsure of what it really should
be like, why and how to fix it.

anyone want to put up a hand? (everything else is displaying fine as best i
can tell - the langauges i read/speak/somewhat understand are working fine).



SVN revision: 42814
2009-09-30 04:23:21 +00:00
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Cedric BAIL 5d0a773fef * evas: Use Eina hash improvements.
SVN revision: 41101
2009-06-18 12:14:29 +00:00
Cedric BAIL 6d0ee81526 * evas: Remove Evas_Bool.
SVN revision: 41067
2009-06-17 10:01:52 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Iván Briano 554dccdb0b some formatting
SVN revision: 40343
2009-04-24 04:35:52 +00:00
Iván Briano 994190d144 Don't leak, and be consistent with return values.
SVN revision: 40101
2009-04-16 04:52:33 +00:00
Carsten Haitzler 2f0458439a and actually enable th RTL code!
SVN revision: 39981
2009-04-11 13:11:10 +00:00
Vincent Torri 4d1961ac59 remove 'unused parameter' warning
SVN revision: 39222
2009-02-25 23:18:15 +00:00
Carsten Haitzler fca6a09640 fix font cutout clip bug.
SVN revision: 39153
2009-02-23 07:20:21 +00:00
Carsten Haitzler 7a74942b41 1. make software font draw code actually use cutouts.
2. make gl engine able to use cutouts - in some cases its faster, some
slower. it's a mixed bag. not sure what to make of it. it's #defined to be
disabled atm.



SVN revision: 39114
2009-02-21 03:13:49 +00:00
Cedric BAIL b70ae3c927 * evas/src/lib/include/evas_common.h,
* evas/src/lib/engines/common/evas_font.h,
	* evas/src/lib/engines/common/evas_font_draw.c,
	* evas/src/lib/engines/common/evas_font_load.c,
	* evas/src/lib/engines/common/evas_font_query.c: Add cache for font kerning.

This patch give something around 2% for all tests around text in expedite,
except for Textblock Intl where it give a 3 times boost.

Regarding text rendering speed, something is strange when used by evas_pipe.
All tests using Styles are around 40% faster without evas_pipe. 30% faster
for Text Change. But Text Basic 7% slower. So it should be possible to have
faster rendering when using evas_pipe for font rendering.


SVN revision: 38993
2009-02-10 15:53:17 +00:00
Cedric BAIL 2b278b9419 Remove use of evas_hash from evas and use directly eina.
SVN revision: 38066
2008-12-09 17:56:31 +00:00
Cedric BAIL 465b76a017 Remove Evas_List from Evas.
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Carsten Haitzler aa2fded0fc some notes on kerning bugs in ft2.
SVN revision: 35876
2008-09-08 02:08:43 +00:00
doursse 9c58ab7087 * move blend functions declaration to their own header files
* add vim header


SVN revision: 35182
2008-07-21 16:10:48 +00:00
Carsten Haitzler 5b74833dfb broke evas! change other evas_common_array calls to be evas_array! :)
SVN revision: 35056
2008-07-10 21:14:44 +00:00
doursse b5011a094e evas_common_array_hash_free --> evas_array_hash_free
SVN revision: 35054
2008-07-10 18:12:45 +00:00
doursse 0760cc6776 evas_common_array_hash_free --> evas_array_hash_free
SVN revision: 35053
2008-07-10 18:08:18 +00:00
Carsten Haitzler ae1977a214 cedric's cache changes patch
SVN revision: 34253
2008-04-12 00:32:30 +00:00
tilman 761eed190f Replace another deprecated macro.
SVN revision: 31510
2007-08-26 08:21:57 +00:00
Carsten Haitzler 2a04c23a33 futzing around with tilan's mono font issue - some commented otu debugging -
use the all caps enum for bitmap fonts now...


SVN revision: 31496
2007-08-25 11:54:17 +00:00
Carsten Haitzler 287d8779fb fix the cache code - it was basically broken and wouldnt free things from
cache. it also didnt account cache USAGE (cache is ref == 0 count images
speculatively hanging around in case theyare needed).


SVN revision: 31227
2007-08-08 23:41:31 +00:00
Carsten Haitzler ccc60306a0 sli is possible- but not optimal.
SVN revision: 27129
2006-11-15 16:44:34 +00:00
Carsten Haitzler 9781eb9b38 1. evas gets a pipeline with deferred rendering ability (sometimes faster,
sometimes slower)
2. --enable-pthreads will enable multi-threaded rendering (current support is
for up to 4 threads so if you have a new fanled quad core or dual cpu dual
core box or whatever you will in theory be able to max moe of its cpu grunt
with the software rendering engine. this can only be done because i added the
pipelines which means almsot entirely lock-free multithreading internally in
evas. the only locks are for fonts but with a little work i might be able to
remove some/most of those too)

for now pthreaded rendering likely will be linux only (it relies on sched.h
for setting scheduler params to force the slave threads to run on separate
cpu's as linux likes to keep them on the same cpu otherwise and thus we get
no speedups at all - only slowdowns).

aso note that it is a bit of a mixed bag. complex ops (like smooth scaling
with alpha blending) get speedups, but simple ops (like blits/fills) slow down.

this all neds examination and tweaking still - but it's a start.


SVN revision: 27098
2006-11-13 23:23:44 +00:00
Carsten Haitzler 94e3e465bf remove sub-pixel cursor advance for font rendering
SVN revision: 26420
2006-10-08 12:43:31 +00:00
sebastid e55f7b27b2 Functions used by modules must be EAPI
SVN revision: 25526
2006-09-06 07:33:40 +00:00
Carsten Haitzler 7f41aeb177 fix some warnings!
SVN revision: 24599
2006-08-12 14:46:15 +00:00
Carsten Haitzler 77e35d60a3 jose's software rendering work - slight improvements (about 5-10%). i had to
disable destination alha mmx support for text rendering (mask + color) as it
was broken in tests.


SVN revision: 22440
2006-05-02 07:28:49 +00:00
Stafford Mitchell Horne 88edaa2e02 Add font charmap caching
* TODO: store cache on disc, for faster cache loading (this requires EET to support arrays)


SVN revision: 22294
2006-04-22 11:08:01 +00:00
Carsten Haitzler 3b3b836125 fix edge interpolation for images with xrender and a segv for font rendering
if multiple engines dont agree on ext data for fonts


SVN revision: 22173
2006-04-17 01:57:11 +00:00
Stafford Mitchell Horne 8f207f622f Evas on-demand font loading
* When fonts are added from files we will only load the details
 * The first font is always loaded
 * I know there is a patch for this on the list but this way seems better to me


SVN revision: 21964
2006-04-09 00:02:47 +00:00
Carsten Haitzler f51753a4b8 rehinting works on the fly now
SVN revision: 20858
2006-03-01 03:48:03 +00:00
Carsten Haitzler 10d6748b56 evas lets you choose font hinting - in theory. :)
SVN revision: 20823
2006-02-27 14:03:27 +00:00
Carsten Haitzler a0ceee8b51 i have to back out all of jose's blend changes - musch faster than
debugging/fixing and likely int he end the exact same result of fixing them.
yes - we lose performance - but it actually is correct now :) if we want to
do such radical changes- i sugegst moving to premultiplied alpha and makign a
tonne of externally tested routines in a test harness first to compare
correctness and speed in an isolated environment.


SVN revision: 18947
2005-12-11 04:55:20 +00:00
Carsten Haitzler 1b272aec90 joses's gradient work - gradient look nice. one problem jose.. USE BRACKETS!
do NOT depend on order operation precedence. it broke scaling. laos other
completely bizarre mmx things were going wrong with mm7 ending up not 0 so
i've had to force it to be 0.


SVN revision: 18811
2005-12-03 09:27:53 +00:00
Carsten Haitzler aaf6e303bd use stringshare. saves a few hundred allocs... if we start doing lots of text
:)


SVN revision: 18679
2005-11-28 15:18:01 +00:00
Carsten Haitzler ebbe8f1267 ok - freetype does WEIRD shit setting grays to bizarre values so now i have
toformat AND grays levels.


SVN revision: 18500
2005-11-16 13:17:27 +00:00
Carsten Haitzler f4a8513aa4 an xrender engine. fully complete - but it doesnt support shaped window masks
and destination alpha like software_x11 does so its not a 100% dropin
replacement... yet


SVN revision: 17112
2005-10-02 15:15:44 +00:00
Carsten Haitzler 3c0b9cc34d ok ok - they look ugly, but handle bitmap fonts! :(
SVN revision: 16542
2005-09-05 08:01:15 +00:00
Carsten Haitzler 46e02cf8bb whitespace
SVN revision: 14889
2005-05-22 02:49:50 +00:00
Carsten Haitzler ab518488f3 allow bitmap rendering...
SVN revision: 14508
2005-04-30 02:30:24 +00:00
Carsten Haitzler aeabe389a2 fix font geometry issues...
SVN revision: 14431
2005-04-28 04:57:12 +00:00
Carsten Haitzler 7462681dad werd to my homies... this had to happen sooner or later.... evas supports
FONTSETS!

so u can do
Vera,Kochi,Blah ... etc.
as the font name
it will fall back font by font until it finds a char or finally fails.

this is for internationalisation support...

WHERD!


SVN revision: 13804
2005-03-20 15:57:55 +00:00
Carsten Haitzler 9f24ecb043 missed a size_use() call that would have screwed up some font queries... and
i've disabled font face (font source) instance sharing - it will load one per
size again due to performance reasons. i need to tackle this with the ft2
guys and see if theres an acceptible solution.

i COULD shadow all the glyph and font metric data i use myself per size -
thats fine... EXCEPT for kerning - thats the thing i can't sanely (figure
out how to) shadow myself... if someone figures that out for me! be my guest!
:) let me know!


SVN revision: 8634
2004-01-23 11:03:07 +00:00