Why do extensions/WebView impact performance so much? and how to prevent? - qlikview

I am currently using the SVG map extension and I am noticing that whenever I turn on the WebView my Qlikview file suddenly doesn't react as fast as it used to. The difference is quite large, sometimes it makes everything 2 to 3 times slower compared to when I turn WebView off.
What is the cause of this and is there any way I can prevent this? Is it because of the SVG map extension and should I just use a different one (open to suggestions!)? Or is it because of WebView?
It's also good to know that my Qlikview document isn't all too complex/large (just some charts/donuts etc.) and runs great without the extension/WebView
Thanks in advance,
CvP

This is just a theory, when you turn web view on there is a web browser that renders the objects on screen which means that everything must be translated to web code.
During "normal" mode everything is rendered by qlik's engine and it is probably optimized for speed.

Related

Better style inside a vue.js app or outsource to the site embedding it?

I'm building my first vue.js app and I'd like to have some help on deciding a design approach.
This app is going to be embedded inside a page of a site - built with Drupal 8.
Both app and site are going to use bootstrap 4 as base framework and we're going to use sass to style.
It's a quite simple app: a multistep form with some ajax call done to the aforementioned site.
It has anyway some components - one for each step, for some of the more complex input, for a sidebar showing the result of the ajax calls and so on.
I need to decide the "guideline" for styling this app and I'd like to get some help\insight to what solution is better.
On one hand, I could put the style inside the app itself; on the other hand I could leave all the style to the one present on the site.
As far as I can see the benefits of the first approach are the use of scope of each module, thus having a better "modularity".
However, putting the style all inside the site would avoid code duplication - simple example: custom color variables.
Personally I can't see for now other differences right now.
I haven't found material about the suggested approach and the pros\cons.
Could advice me of which approach is the best? Thank you.
It depends on the project, but you can make a list of cons and pros based on your project brief. If there are very few (or 0) changes in the future or it's based only on small components (not much style) then go with component-scoped styling. If the project is big, always go with a style pattern like the 7-1 pattern
I prefer working with the 7-1 pattern pattern.
Pros:
- Scalability or future updates like you mentioned the color variables case.
- You don't depend on Javascript to load the style, depending on how you write the app or how it loads, it may have glitches.

Is it possible to relauches an ipad application?

I have an application used mainly with uiwebview since we have a lot of work based on the website so it is quicker to show it directly on webview without re-coding it. The problem with webview, it is very expensive on memory. The UI is running fine throughout 10 times of going through from beginning of the application to the end of the application and repeating the process. On the other hand, the webview started to get slow when it doing some javascript animation using Canvas object. I have put in some code to remove NSUrlCache when it received warning.
Our application is based on navigating through stacked pages. When it gets to the end, user basically goes back to beginning. In my mind, I wanted to relaunch the application when I knows the application started to run slow. I know it is not a good idea to do this but I don't know what is the best way of reclaim the memory. I have looked through all of my code and have released what i have to released. The Application is going well without problem but it is just the uiwebview caused the performance.
Please Help...
Short answer: Not possible. You'll have to find a different way to address your performance problems.
If UIWebView is bottlenecking your application then the solution would be to NOT use UIWebView. You cannot simply "restart" or "reset" your application. If performance is decreasing over time as your app is being used then this suggests that you might not be managing your memory or object allocations properly. You can use the Leaks instrument to debug your application and try to hunt down memory leaks and you can use the Allocations instrument to analyze your object allocations.

using dojox.mobile and dijit together

We are trying to make an app maker with dijit. Do you know what to do more or less to have the dojox.mobile.* branch running parallel to my dijit app ?
I know there is a seperate dojox.mobile.parser,... I guess, I need to fork it quite deep ?
I thought first about an iFrame but we need drag'n drop from the designer and the simulator.
Any help is welcome,
g
dojox.mobile offers a very light-weight parser which can be used in place of the standard dojo.parser. I think it skips stuff like attachpoints and probably wouldn't work too well with Dijit, so if you use both types of widgets on your page, stick with dojo.parser. The parsers share some globals and are unable to co-exist, so do NOT load both.

dojox.mobile.view slow

when tapping just on the "Back button" it last 1-1.5secs (iOS 4-5 iPhones) seconds before it goes back. Is there anything I can do ?
I had a closer look and removed ALL bottlenecks in my code. Even when the view is empty, its unacceptable slow.
I also had a look in the dojo sources, its seems that dojo.setStyle and dojo.setClass is called a few hundreds times when moving in or out a view. I debugged this with a self baken mozilla browser and its true, dojo view changes involve a complete repaint/reflow of the entire dom tree, thats more than bad.
We spent now 3.5 months fulltime on a commercial project and the customer is not happy with the performance at all and I'am facing a little desaster.
I also saw that dojo prefers DOM manipulation instead of innerHTML and wants even stick to that. Are there any workarounds or utils within the DOJO framework to support innerHTML approaches ?
Looks, I need to rewrite the view class.
Any suggestions are welcome, guenter
Are you running an optimized build or from source? Any chance this is a file load/latency problem?
I'd recommend you take your comments to dojo-interest where the community and dojox.mobile maintainers are more likely to see it. You may also want to post some examples to demonstrate the performance problems you're seeing.

App lags, website doesn't

I'm building a small app with Adobe AIR using HTML and JavaScript. When I view the app as a regular website (no matter in which browser), it's all perfectly fine. But when I view it as an AIR app (with the adl command or in a proper package), all the effects, mostly jQuery, make the website lag.
I do not use any fancy effects, it's just about image sliders. Any ideas where this is coming from?
Thanks!
PS: I know it's not because my PC is too slow; I recently bought new hardware for 700 EUR (~980 $; ~620 GBP) :)
I had the same problem.
It turned out, you MUST NOT use box-shadow -webkit-box-shadow or text-shadow css properties in your air app. It works fine in other browsers? but dramatically slowes down air performance.
That worked for me.
I'm working on a JavaScript AIR app at the moment that is running jQuery without a problem on very low spec PC, and is actually impressing me with how fast it is (knock on wood!). Adobe improved JavaScript performance recently, so if you haven't got the latest runtime (currently 2.7) then definitely grab that.
As for the jQuery itself, make sure you are using the minified versions of the jQuery libraries, and only include the ones that you absolutely need. It's always a good idea to compress images as much as you can, as moving big images around will obviously take more processing power.
You could also take a look at this article about performance tuning AIR apps, although it is focussed on Flex and AS development.
http://www.adobe.com/devnet/air/articles/air_performance.html
Good luck!