Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

Appcelerator's "native" table performance is far from "native".

Scenario - multi-row table, with a small 64x64 image as a label as part of each row.

On a Xcode REAL native app, the viewing is instant. No delays.

Appcelerator takes almost 2 seconds to start displaying the first row, if there is a total of > 150 rows.

Not ideal, to say the least.

— asked May 2nd 2010 by Pedro B.
  • mobile
  • performance
  • slow
  • table
1 Comment
  • 6 months later, it seems like we're still having these problems, as it simply doesn't go fast enough. Any updated word on the speed of the tableView for 1.4.2 or 1.5.0?

    — commented October 21st 2010 by Wil C

14 Answers

  • That's the exact problem i am facing as well with android.

    It takes more than 15 seconds to load 22 rows and it is simply inefficient.

    — answered May 2nd 2010 by sanchit sharma
    permalink
    0 Comments
  • i actually posted something that's in the same vein here :
    https://developer.appcelerator.com/question/19811/urgent-blank-flash-before-loading-on-device

    the screen is blank before the content loads in, for simple table views. if this was done in xcode, it would load immediately.

    help!!!

    rocksteady,
    danno~

    — answered May 4th 2010 by danno watts
    permalink
    0 Comments
  • I am having particular problems with tables. Initially I thought it was my code. But after a few checks, I see now that the performance problem is on the iPad using tables. I am loading relatively large tables compared to here - up to 200 rows. Works instantly on the emulator, but many seconds to load on the device.

    Tables are the most important view, and used lots, we need to make sure they run fast. What we need to do is find which bit is slow. E.g. is it loading an array of objects, or is it creating rows one at a time… i.e. where is the performance issue.

    — answered June 11th 2010 by Scott Penrose
    permalink
    0 Comments
  • This doesn't sound good. I've just returned to Titaium development after last using 0.8 around December last year. I had to turn off images against rows on Android due to performance issues & was full of enthusiasm for Titanium 1.3 which promised so many performance increases and native table rendering.. I haven't coded up my XML feed which then pulls in remote images, but judging by this post it doesn't sound promising!

    Did you find any way of improving performance?

    I'll see if I can knock up some code to test it out today (on holiday next week) but I'm currently struggling with some basic app navigation problems.. which also isn't getting much response from the Appcelerator dudes :(

    http://developer.appcelerator.com/question/6761/hide-tab-bar-in-android#15431

    — answered June 11th 2010 by Matt Collinge
    permalink
    0 Comments
  • I am having same issue, tables load fines ( 30) but the images are slowing it down a lot, And when user scrolls down and then back again all the images are gone and they need to reload again ? this works very well on iphone

    Petr

    — answered August 12th 2010 by Petr Cervenka
    permalink
    0 Comments
  • Could someone give an example of what are you doing. I have a table of around 200 rows displayed in 8-9 seconds. Each row has a 75x75 image and a label.

    — answered August 12th 2010 by Marko Perutovic
    permalink
    0 Comments
  • Still have great performance issues using sdk.1.7.0 :(

    — answered July 2nd 2011 by Ivan G
    permalink
    0 Comments
  • I'm displaying tableviews with 320x280 images and multiple 30x30 icon + text overlays…all with opacity settings as well as borderRadius and I'm not having issues. Check that you're using classname properly

    — answered July 2nd 2011 by Andrew Mussey
    permalink
    0 Comments
  • andrew, what do you mean
    >Check that you're using classname properly

    — answered July 28th 2011 by dev 1605
    permalink
    0 Comments
  • @dev 1605: @andrew means: there is a row property called "classname", setting all rows with the same "classname" value boosts the performace. As Titanium draw it once, and use it for the rest of the table. ex: classname:'myRow'

    — answered September 24th 2011 by Waleed Fahmy
    permalink
    0 Comments
  • To me the trouble is the 64x64 image that takes a lot of ressources to display. I'm using a table with around40 rows and it displays pretty fast.

    — answered May 3rd 2010 by michel perrin
    permalink
    0 Comments
  • When I am doing a search on a database and build rows based on the resultset, the display can takes up to 10 seconds to build if the resultset is about 300.

    — answered May 3rd 2010 by Peter Lum
    permalink
    0 Comments
  • Are you using Images or Labels? While I do experience very slow loads of images, labels seem to draw fast enough.

    — answered May 3rd 2010 by Ryan Huff
    permalink
    0 Comments
  • Looks like I'm experiencing similar performance issue that was being masked by an HTTP call. Since I've separated out the HTTP call from the table rendering, its now painfully obvious. It takes around 3-4 seconds to render 15 rows of data, with rows containing various labels.

    — answered May 4th 2010 by Ryan Huff
    permalink
    0 Comments
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.