Hi Rob, what java version are you using? We have made some improvements in jdk7 so that we don't send extra requests to the server.
Although looking at the requests it appears that the top ones might belong to AWT, not 2D - which would explain why you didn't see any difference when trying the Java2D flags. Thanks, Dmitri Rob Ratcliff wrote:
Hi, I'm troubleshooting a fairly large application built on top of the NetBeans 6 platform that is causing the X-Server to chew up up a lot (30%-50%) CPU when all it seems to be doing is refreshing a blank (no data) Map (we're using Openmap) once a second. (I'm going verify that this week and ensure the entire app isn't getting repainted or revalidated once a second or more.) It is running locally and I'm running it with the -J-Dsun.java2d.pmoffscreen=true. (I've tried false as well.) The Java process is only taking 5% or so compared to the X-Server load. In comparison, a similar application (uses OpenMap, but not built on NetBeans) we have uses only 2-5% total CPU with the map populated and updating more than once a second. I've tried all the flags documented in the Java2D whitepaper (http://java.sun.com/products/java-media/2D/perf_graphics.html), but I haven't been as fortunate this time for a quick fix. (I did use the -J option to pass the VM option through the NetBeans exec to the VM.) (BTW, this is a Sun Blade 2000 UltraSparc III+ with a GFX-450 Graphics card, running Solaris 8. It has 4 GB of memory and I significantly increased the shared memory segments from the defaults.) To get some insight into what was going on, I used the X-Server proxy, xmon, to monitor the X-Event traffic to see what was going on and noticed that there seems to be a lot of X-Event traffic. I was expecting more bitmap type operations where the Swing's buffered image would be sent to the local X-Server rather than the nearly 2000 primitive draws per minute. It is almost as if Swing isn't double buffering. I've also tried using the -J-Dsun.java2d.trace=<optionname>,<optionname> to get a log of the messages, but nothing was printed. (I've tried it on Java 5 and 6.) Does that work on the newer versions of the VM. (I need to run a test as well outside of the NetBeans app to see if the NetBeans platform is intercepting it somewhere.) Does anybody have some suggestions on what might be going on? Thanks! Rob --------------------------xmon summary--------------------------------------------- requests received (for about 1 minute): code count name 1 9 CreateWindow 2 29 ChangeWindowAttributes 3 4 GetWindowAttributes 4 4 DestroyWindow 8 6 MapWindow 10 1 UnmapWindow 12 20 ConfigureWindow 14 4 GetGeometry 15 4 QueryTree 16 83 InternAtom 17 1 GetAtomName 18 129 ChangeProperty 19 11 DeleteProperty 20 326 GetProperty 23 2 GetSelectionOwner 24 317 ConvertSelection 25 4 SendEvent 36 1 GrabServer 37 1 UngrabServer 40 2 TranslateCoordinates 42 7 SetInputFocus 43 615 GetInputFocus 45 19 OpenFont 46 2 CloseFont 47 18 QueryFont 53 51 CreatePixmap 54 36 FreePixmap 55 81 CreateGC 56 2979 ChangeGC 59 2027 SetClipRectangles 60 48 FreeGC 61 2 ClearArea 62 497 CopyArea 66 1605 PolySegment 67 246 PolyRectangle 69 3 FillPoly 70 1615 PolyFillRectangle 72 490 PutImage 73 8 GetImage 78 2 CreateColormap 84 36 AllocColor 93 17 CreateCursor 94 2 CreateGlyphCursor 97 28 QueryBestSize 98 8 QueryExtension 101 1 GetKeyboardMapping 117 1 GetPointerMapping 119 2 GetModifierMapping events received (for about 1 minute): code count name: 6 81 MotionNotify 7 8 EnterNotify 8 8 LeaveNotify 9 11 FocusIn 10 12 FocusOut 12 11 Expose 17 1 DestroyNotify 18 1 UnmapNotify 19 2 MapNotify 21 2 ReparentNotify 22 13 ConfigureNotify 28 783 PropertyNotify 31 319 SelectionNotify 33 5 ClientMessage errors received: code count name 10 1 Access =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
=========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".