I have a WPF application developed on a Windows 7 - 32 bit desktop. The app runs fine in the development system. It also runs smoothly on Windows 8 32 & 64 bit desktops.
When I run the same application on a tablet with Windows 8 - 32 bit, the application UI responds very slowly and runs very slowly. This application is actually used to monitor data received over UDP.
The tablet I am using is an HP ElitePad 900 which has Intel Atom Z2760 / 1.8 GHz (Dual Core), 2GB RAM.
I don't think the hardware is what is causing the problem.
I tried setting the ProcessRenderingOption as
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
in the application startup. But still no change. I need some suggestions/answers as to what the problem maybe.
FYI the tablet has Windows 8 not RTM, so it allows desktop applications also to run.
If there is no difference when you set ProcessRenderMode = SoftwareOnly, it is helpful to investigate the cause of problem.
Situation 1
If your app uses effects that can't be handled by GPU,
it is always rendered by CPU regardless ProcessRenderMode setting.
Thus, ProcessRenderMode is implicitly set SoftwareOnly.
So when you set the setting SoftwareOnly explicitly, it has no effect.
In this case, your app's performance depends on CPU throughput.
ATOM may be poor than your desktop CPU, the result can be explained.
Situation 2
If your tablet's GPU has not enough to render WPF effects,
some effects are rendered by CPU. This causes performance down.
You can check WPF GPU capability with System.Windows.Media.RenderCapability class.
Conclusion
The cause is
CPU throughput because your app is always rendered by software. Or
poor GPU capability to render WPF rich effects.
Related
I'm using MSVS2015Pro with C#/Xamarin.
I have a laptop that doesn't support Hardware Acceleration.
Then I have a question: can I develop for mobiles without having to spend too much time when deploying?.
I could deploy to my real android phone, but I don't know if that's slower than deploying to an AVD. Is it?
What Can I do? I don't wanna do things in a very slow manner.
Do I have to buy a another laptop that supports Hardware Acceleration?
If that's the case, what other requirements I need for that other laptop?
We are running windows 10 with VS 2015 Pro and no hardware acceleration available on the CPU. There is indeed a solid state drive and 16gig ram (The ram doesn’t really assist in running the emulator though. More ram doesn't make the emulator faster. It is rather the processor and or GPU. The ram does assist with running multiple emulator instances.)
Doing both xamarin.iOS and xamarin.android development. I would agree that with hardware acceleration things would be much faster but it is possible to dev on an enterprise level without it. The deployment to emulator (once emulator has started up and is running) vs actual device is much the same. It is indeed faster running the app on an actual device.
I would suggest using actual device to test functionality and the user experience of the app for quick feedback cycles while using the emulator to test different OS versions for compatibility.
I have a WPF application utilizing Dotnet framework 4.0 client profile.
The application is running perfectly on any windows 8.0 Dell touch screen machine.
I am trying to run the application on a machine having Intel HD Graphics 4600. The application run is very slow and even the transition effect takes longer.
As I have seen somewhere suggested to try Disabling Hardware Acceleration - I din find any registry key named :
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration
I have updated the Graphics Driver and all the windows updates are done.
Can anybody please tell me how can I find / change the Hardware Acceleration / Rendering Mode ?
Or is there anything else that need to be checked ?
Update: I have tried setting RenderOption forcefully to SoftwareOnly and result was still the same.
Some more info about the application:
- Its a multi threaded application - doin some checks in the background.
- We are using some of Telerik controls [Telerik UI fro WPF] and version is 2014.1.00331.40
- System details :
Processor : Intel Core(TM) - i5 -4200M CPU #2.50 GHz
RAM : 8GB
Pen and Touch : Full windows touch pints with 10 touch points
Please suggest anything why its working this much slow for this particular machine.
I'm developing an app that runs on both WP7 and WP8. After I finished it I started running the Performance analysis to improve the app overall performance.
The app is written for WP7, but I have some projects that run over WP8 to add features like in-app-purchase, lockscreen and so on.
When I ran the memory analysis on WP7, the app averaged 50mb of ram throughout execution, an acceptable value, the weird thing was when I ran the same xap on a WP8 device the app uses on average 150mb of ram.
I searched around the web and found nothing related to this issue.
I used a Lumia 800 and lumia 510 to make the analysis on the WP7., and use a Lumia 520, 820 and 925 to make the analysis on WP8 devices.
I'm using Visual Studio 2012.
I also considered that it could be a bug on VS2012, but the app crashes on the lumia 520 (with out of memory, after a while) but never crashes on the lumia 800 or 510.
The app is heavy on images, but all of them are the exact size that is used on the phone (never more than 50 100x100 jpg pictures are displayed in the app at the same time).
Any suggestions and solutions are welcome.
EDIT: The memory differences that I'm talking about is just by running the Home view, my performance analysis test is simply, launch the app swipe some controls (I have a pivot with 2 items) and close the session. There is no navigation involved. I'm using a RadDataboundListBox, but already tried to change to Listbox and LongListMultiSelector without any significant memory consumption change
I have a WPF application in which I put a check for the rendering tier and on my dev machine it reports Tier 2 every time. As far as I know this means that it has full hardware rendering capability. Which it should, it's a new system running an Nvidia 550M chip. But when I check with WPFPerf, it shows that the entire app is rendering in software mode! What can I check to figure out what is causing this?
One thought is could it be that I have AllowTransparancy set to True? (It's a borderless window, so I had to use it).
NVidia 555M? That sounds like Optimus issue. I had this issue with some games - the GPU-chooser doesn't detect a performance intensive application and runs it on the GPU integrated in CPU.
I never had this issue with a WPF app though (I think the integrated GPU should be tier 2 as well, at least it appears to be on my Core i7).
Try going to NVidia Control Panel -> Manage 3D Settings -> add your application there. If you are using VS debugger, add the X.vshost.exe as well.
I am developing an application using WPF. I am using a lot of Grid layouts. In my application, we use five services to communicate. All works fine. Sometimes, the application slowed way down so I checked task manager to see the memory usage. Then I saw 1.285 GB memory occupied by the application process.
I am using Windows 7 operating system. My Application developed in wpf 4.0 version. In that we use WCF , WIF etc for communication. I also used Images. Can any one give the solution why application process occupies more memory?
All the images are small images.Actually my application occupies nearly 110 MB.But sometimes it occupies 1.238 GB memory.I am not using Large images in my application.
There's no magic bullet answer here for you, it really depends on what you are doing in your application.
Its time to jump into the world of using a profiler and figuring out what is going on in your own app.