질문하기질문하기
 

질문WPF falls to software mode

  • 2009년 7월 4일 토요일 오전 10:28da Vinci 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    Using Perforator tool I find out that my application from time to time falls to software mode.
    Is there any way (maybe tools or logs) to find out what is the cause?

모든 응답

  • 2009년 7월 4일 토요일 오후 6:11Ray M_ 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    Are you using any BitmapEffects by anychance? those are always rendered in software mode. If you have .net 3.5 sp1 replace them with regular effects that are hardware accelarated.
  • 2009년 7월 6일 월요일 오후 6:00da Vinci 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    No, I am not using BitmapEffect. Initially all work in hardware mode but suddenly switch to software...
  • 2009년 7월 6일 월요일 오후 8:27Jordan Parker - MSFT 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    Do you know how to repro the software fallback or is it pretty random? It might be a driver problem or, if you're on XP, you could be running out of video memory.
  • 2009년 7월 8일 수요일 오후 12:30da Vinci 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    I would be said that it  is pretty random. But... There are something worries me.

    1) This app has an Image with WiritableBitmap (1900x1200x32bpp). If I use 800x600x32bpp image it falls back to software rarely. It looks like it folls when I recreate WiritableBitmap. I use the following code to change resolution of bitmap (to prevent momory leak):

    writeableBitmap = new WriteableBitmap(newWidth, newHeight, 96, 96, PixelFormats.Bgra32, null);
    image.Source = writeableBitmap;

    GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();


    2) My app has unmanaged C++ part where I allocate video memory. I know amount my video memory (~80Mb). I use NVidia GeForce 8800GTS with 512Mb (WDDM drivers, Windows Vista). Does WPF have some video memory limits?