Hello,

Dmitri Trembovetski wrote:
 > Increasing the width or height in the constructor of the splashscreen
above 150 pixels triggers the problem on my
machine.
 > This can be reproduced always, and never occurs if both sizes are
smaller than 150 pixels.

  I could explain the 150 pixels thing - we only enable
  the d3d on-screen rendering for windows more than 150
  pixels in any of the dimensions, but I have no idea
  why would drawString() matter (and it does).

  OK, I figured it out. The problem basically boils down to
  what kind of text is rendered by the application first -
  lcd antialiased or regular grayscale AA.

  Depending on that we create a glyph cache in video memory
  where we cache glyphs to be rendered.

  If the first text to be rendered happens to be grayscale AA -
  the cache will be initialized for grayscale glyphs,
  otherwise - LCD. And since we don't switch from one cache type
  to another if first you rendered a single grayscale AA glyph,
  all following LCD-AA glyphs will be rendered without the use
  of cache which is slow..

  And if the first window is created < 150 pixels we do not use
  the d3d pipeline for rendering to such window so it doesn't
  matter what kind of text is rendered there - the rest of Swing
  renders using LCD AA.

  I am pretty sure it is the same problem with netbeans.

  Now I'll need to come up with the fix - probably
  different caches for lcd and grayscale glyphs.

  Thanks,
    Dmitri
  Java2D Team

===========================================================================
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".

Reply via email to