Hi Taras,

  I believe I explained the cause in my other message (attached).

  To sum it up, copying large image from system memory to the
  screen using our GDI blit loops can be slow in some cases
  depending on the dimensions of the image.

  Thanks,
   Dmitri


[EMAIL PROTECTED] wrote:
Dmitry,

After running for a day with the "grey rect fix" disabled, I can confirm that 
it solves my problem.

Is there anything I can do to diagnose why the "grey rect fix" causes such 
extremely bad mousewheel scrolling performance on my system?

Thanks for your help,

Taras
[Message sent by forum member 'plethora' (plethora)]

http://forums.java.net/jive/thread.jspa?messageID=236447

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

  Hi Taras,

[EMAIL PROTECTED] wrote:
Dmitry,

I have tried enabling Java2D DirectDraw pipeline. Results were a mixed bag - in 
some cases it seems to help, in other cases not at all.

  OK.
  Not really relevant to the discussion, but one thing is that
  with the hw acceleration unconditionally disabled IntelliJ
  will miss the  new fully hw-accelerated Direct3D pipeline
  to be introduced soon in 6 update release.

I have tried your second suggestion, and so far it seems to work! (at least in 
my configuration).

I am not very familiar with Java2D acceleration, but
-Was the 'grey rect' fix introduced in Mustang? That would explain why the 
problem does not manifest on JRE 1.5

  Yes, the 'gray rect' fix was introduced in Mustang.

  The difference between 5.0 and 6.0 (with respect to the gray
  rect fix) is that in 5.0 the scrolling happens on the screen:
  first a copyArea is done on the screen surface, then Swing
  repaints the exposed area to the back-buffer (or, rather,
  a scratch buffer), which is then copied to the screen.

  In 6.0 with the gray rect fix it all happens in the back-buffer:
  both the copyArea and the repainting of the newly exposed
  area. Then the back-buffer is copied to the screen.

  With HW acceleration disabled this back-buffer is just a
  BufferedImage, so copyArea operation for large regions
  may be slower than on-screen scroll operation we had
  in 5.0 (which was handled through GDI and thus was hw
  accelerated in most cases).

  And a copy from the back-buffer to the screen - and such
  a copy after a large scroll could be pretty big - (which is
  handled through our GDI blit loops) could be rather slow in
  some cases like if the dimensions of the image being copied
  are not dword aligned (scan line is not a  multiple of 4).
  In this latter case the blit happens scan line by scan line,
  which is slow (I think there's a bug filed on that).

-IDEA opens a new top-level frame for each open project. Does the 'grey-rect' 
fix perhaps (try to) allocate VRAM for each non-foreground frame - and because 
of that remaining VRAM amount may get quite small, slowing down drawing 
operations?

  I don't think that's a problem - especially since you're
  having issues even with hw acceleration disabled.

  Thanks,
    Dmitri


I have not tested this fully yet. But I will do so, and report the results here.

For now: thanks for your quick feedback.

Taras
[Message sent by forum member 'plethora' (plethora)]

http://forums.java.net/jive/thread.jspa?messageID=236246

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

--- End Message ---

Reply via email to