summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMyoungwoon Roy, Kim <myoungwoon.kim@samsung.com>2017-08-24 13:57:05 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-08-24 14:29:45 +0900
commitc017ab2dc057fa6af25af8252a530b3f627902b3 (patch)
tree180d80150c29fbc73d9a86b0a6eb727d220e4b33
parent7738ba5b37fba00af765a6bd320dda3857828cf9 (diff)
docs: Add information about texture size limitations
Summary: I had added some information about texture size limitations to Elm image API reference. Test Plan: Doxygen Revision Reviewers: raster, cedric, stefan, jpeg, Jaehyun_Cho Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D5106
-rw-r--r--src/lib/elementary/elm_image.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_image.h b/src/lib/elementary/elm_image.h
index 5a86f44f5e..27c04d5cca 100644
--- a/src/lib/elementary/elm_image.h
+++ b/src/lib/elementary/elm_image.h
@@ -24,6 +24,21 @@
24 * An image object may also be made valid source and destination for 24 * An image object may also be made valid source and destination for
25 * drag and drop actions, through the elm_image_editable_set() call. 25 * drag and drop actions, through the elm_image_editable_set() call.
26 * 26 *
27 * If the image source size is bigger than maximum texture size of the GPU (or also of
28 * the software rendering code too), evas can't render it because of such a limitation.
29 * If evas just magically always downscales on load if it's too big, then the user has a new bug:
30 * "the image is blurry". Potentially any image can cause issue.
31 * What if the image is too big to allocate memory for it?
32 * A 30000x30000 image will need just a bit under 4GB of RAM to store it.
33 * Texture size limitations are something every game developer has to deal with game engines,
34 * OpenGL, D3D etc. You can get the maximum image size evas can possibly handle by
35 * the calling evas_image_max_size_get() function. If the image size is bigger than this,
36 * you can try using load options to pre-scale down on load to lower quality.
37 * So use the elm_image_prescale_set() function to scale the image down.
38 * Another option is to use the Photocam widget. Photocam solves this issue
39 * by loading the prices as needed asynchronously in tiles and automatically using pre-scaling as well
40 * So use Photocam if you expect to load very large images.
41 *
27 * Signals that you can add callbacks for are: 42 * Signals that you can add callbacks for are:
28 * 43 *
29 * @li @c "drop" - This is called when a user has dropped an image 44 * @li @c "drop" - This is called when a user has dropped an image