Graphics Performance
Hi,
I am building a config for a PV1100 that has a map that moves about using GPS data. I have tested it and it works small scale. When scaling up I am running in to performance issues. Because of my map size and detail level I am using a number of 2000 x 2000 pixel images that are tiled together (mostly off screen) and all move around together according to GPS position.
This worked very well for a grid of 12 images. It still works with a grid of 54 images but it takes 10-15 seconds to move between these two pages (the 12 image and 54 image pages) which are different zoom levels and the response to gps position changes seems slower, especially on the higher zoom page.
My CPU memory is at 90% and the CPU usage while on these two pages is 80-85% and when the map is moving on the higher zoom, more images page is at 90%. When I go to one of the less performance based pages I have 15-20% CPU usage but still 90% memory usage.
I suspect the answer here is I'm asking too much and I need either less or smaller image files?
Or is there something else I can do to help the CPU? I don't need all these images drawn all the time, that is the annoying thing.
How do I reduce the CPU memory usage? Is this even a factor here? or is it the actual CPU usgae I need to focus on?
I have tried to remove unnecessary files form the image library in Powervision (2.9) but when an image is deleted it just crashes the program. Is this memory figure every image in my library or is it just the ones being used by the config? i.e the ones I have actually assigned to an image widget? (I guess it also includes all the other stuff like programming, strings etc but this is a very small percentage)
I should add I'm not from a software background.
Thanks for any help
John Kelsey
-
Just out of curiosity, have you tried using a smaller grid of larger images? I don't know how you are handling the programming side of moving the images around, but one thing that contributes to CPU usage is the number of events and calculations you have going on in the background. I'm thinking maybe if you can cut that number down by moving fewer but larger images, you might see better performance?
-
Hi Jeff,
Thanks for you time.
The reason for the 2000 x 2000 pixel size is the max file size you can use is 2048 x 2048 unfortunately. I had originally just wanted to use one image file for the whole map but it wouldn't validate for that reason.
I probably can streamline the amount of state machines and maybe the number of calculations (it has got a bit messy) but I think the real issue is the image files. The calculations are made on recurring timers and so I think are going on all the time and when not on a page that has these image files the cpu usage is less than 20%. I think just animating so many image files is the issue but I don't really know.
I was wondering if I can store the images on external storage and just have them load as required but I'm guessing that won't be possible.
Thanks
John
-
I wonder if you tried turning off the visibility or not manipulating images that are completely off screen would help. I know that implementing complex logic on these displays is a pain, but it might help.
Have you opened a support ticket? The Enovation support team has always been super helpful to me and they are very responsive. These forums are kind of hit or miss.
-
Hi Jeff,
I haven't opened a support ticket but will do, is that done through the 'submit a request option'?
Also I hadn't thought about switching off the visibility of unused graphics or indeed of just not moving the ones that don't need moving. I will give them both a go and see if there is any improvement.
Thanks
John
Please sign in to leave a comment.
Comments
5 comments