On Feb 6, 2009, at 5:46 AM, jav...@javadesktop.org wrote:
Hi,
I'm trying to get straight in my head exactly which graphics
rendering surfaces can get hardware accelerated in Java. There seems
to be a lot of confusing/half specified information around.
Firstly let me state I'm using Java
On Nov 30, 2008, at 2:42 PM, [EMAIL PROTECTED] wrote:
There is no pixel-to-pixel correspondence when Qt
OpenGL pipeline is enabled (I have taken two
screenshots, there is only a subtle difference). With
good enough drivers (like NVidia on Windows for
example) usage of hardware acceleration
Unfortunately, that optimization was never implemented in JOGL, and we
have no plans to do so at this time. (Basically, higher priority
tasks got in the way, and we never got around to it. Sad but true.)
Chris
On Jun 16, 2008, at 6:53 PM, [EMAIL PROTECTED] wrote:
Chris Campbell mentioned
Bitwise operators and native integer support are only available in PS
4.0 (DX10 only).
Also, recall that pixel shaders do not have direct access to the
destination pixels, so readback to a VRAM texture is still required (and
even that can be slow, not as bad as VRAM-sysmem, but still slow).
Hi Jan,
[EMAIL PROTECTED] wrote:
Sun even sent them some automatic tests to be able to track down regressions
which would break the
Java2D-OpenGL pipeline. Seems they have not been run on the 169' drivers.
Any place where i can get those tests and run them to at least figure out what
It's still on the list for JDK 7. I don't have an estimate on when it
will be integrated, though.
Chris
[EMAIL PROTECTED] wrote:
One more question (off-topic),
maybe it's been dropped, but in his blog, Chris Campbell told he was playing
with some accelerated java2D blending modes
To be clear, the original post was asking about framebuffers that are
compatible with Solaris/SPARC workstations; XVR-600 and other Sun
SPARC framebuffers in the XVR series are the only option there.
Cards from Nvidia, ATI, and other x64 manufacturers are not supported
in Solaris/SPARC
Yes, the OpenGL-based Java 2D pipeline works well on XVR-600 with JDK
6 and above. However, it will depend on your particular application
whether you see any performance benefit from the pipeline. (The
XVR-600, like most SPARC framebuffers, is not as capable as today's
modern GPUs from other
Hi Scott,
On Oct 25, 2007, at 4:09 AM, [EMAIL PROTECTED] wrote:
I have openchrome drivers installed for my CN700 Unichrome Pro
graphics card ( http://www.via.com.tw/en/products/chipsets/c-series/
cn700/ ) . It increased the glxgears output from 180fps with vesa
to around 600fps but has not
Hi Jan,
See:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4833528
It's basically the same problem that you're running into, but
unfortunately the bug report doesn't mention the Unix-specific
workaround, which is:
-Dsun.java2d.pmoffscreen=false
(Hopefully that should work.)
Chris
On
Hi Derek,
First, are you using the proprietary ATI drivers, or the open source
ones? It might help to include the output of glxinfo.
Second, that ATI chipset is a bit old and we haven't had much luck
getting good performance for the OpenGL-based pipeline on GPUs from
that era (meaning
Hi Rob,
As Dmitri suggested in an offline thread, the best place to start is:
% export J2D_TRACE_LEVEL=4
% java YourApp
And you sent us the following, which was helpful:
I] GLXGC_FindBestVisual: scn=0
[I] GLXGC_InitGLX
[I] OGLFuncs_OpenLibrary
[I] OGLFuncs_InitPlatformFuncs
[I]
Hi Rob,
On Oct 4, 2007, at 11:31 AM, Rob Ratcliff wrote:
Chris,
Thanks for the quick response.
Chris Campbell wrote:
What this shows is only one fbconfig (similar to a visual in OpenGL-
speak) is available, but it's not sufficient for Java2D rendering
because it's a special linear visual
depends on your app whether you'd see any benefit from
enabling Java 2D's OpenGL pipeline.
Chris
Thanks,
Rob
Chris Campbell wrote:
\Unfortunately, yes; OpenGL isn't accelerated in hardware on that
board:
http://www.techsource.com/gfx450/gfx450.html#four
Hi Ernst,
Probably the most straightforward way would be to render your
original image into an 8-bit indexed image and then send that to
ImageIO instead:
BufferedImage img = new BufferedImage(w, h,
BufferedImage.TYPE_BYTE_INDEXED);
Graphics g = img.createGraphics();
Is this reproducible on JDK 6? We made a bunch of fixes to
BufferStrategy and related code in JDK 6, so this may just be an old
bug.
Chris
On Jul 25, 2007, at 10:01 PM, Ken Warner wrote:
Environment: Java 1.5.0.12; Win2K SP4
Every once in a while, if I stop or restart the applet at just the
On Jun 29, 2007, at 3:56 AM, [EMAIL PROTECTED] wrote:
I'm writing some nice looking components, or I'm trying to at
least.. Is there any way to affect the anti aliasing weight on
normal draws, like lines and the rounded corners of a
RoundRectangle2D?
As far as I know, there is no way to tweak
I'm pretty sure these problems are caused by the previously mentioned
FBO regression in Nvidia's drivers, discussed in this bug report:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6545140
An updated driver has been a long time coming, but my contacts at
Nvidia tell me there should be a
Hi Russell,
This sounds like a known Nvidia driver issue, but we couldn't know for
sure without the exact driver version. I will see if we have a similar
configuration in-house to try this on. Also would be helpful to know if
the problem was visible with the usual demos like SwingSet2, but I
You don't need to use webstart, do you? Can you just have them try
running SwingSet2 from the command line with -Dsun.java2d.opengl=True?
Another thing to try if running from the command line is to disable the
use of the FBO extension, which has caused problems in the past with
Nvidia drivers:
On May 22, 2007, at 2:50 AM, [EMAIL PROTECTED] wrote:
Thanks for all of the advice. You provided enough hints for me to
get a workaround that performs just as well on both the opengl and
d3d pipelines. This is what works for me:
In a static method do something like this so I have a dummy
That's a good point, and it's an approach that I often recommend
because of the nice heap savings, as long as you're willing to live
with increased code complexity as Jim suggests. However, it's worth
mentioning some subtle differences between our (current)
implementations of managed images and
[EMAIL PROTECTED] wrote:
Thanks Chris.
I knew I'd forget something from the original post.
Graphics card: nvidia geforce 6600
Driver: nvidia 97.55
OS: Linux 2.6.20.
java version 1.6.0_02-ea (happens on 1.6.0-b105 as well).
Image: 720x576, 32bpp, rgb format. - chosen to test dvd resolution
Hi Mark,
It would be really difficult for me to explain Java 2D's
rasterization process in a couple sentences, but... For thin lines,
we have ways to flatten curves in software and then we basically pass
those line segments down to OpenGL to be rendered as a
GL_LINE_STRIP. For anything more
ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte
(PI)
Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB:
http://www.classx.it
- Original Message - From: Chris
Yeah, Dmitri, what's taking you so long to get a blog? Your adoring
public (and I) are not-so-patiently waiting :)
Chris
On Feb 25, 2007, at 9:34 PM, [EMAIL PROTECTED] wrote:
There's a new Direct3D pipeline in the works???
Dmitri what's it going to take to get you start a blog? You cant
let
==
==
- Original Message - From: Chris Campbell
[EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, February 22, 2007 6:46 PM
Subject: Re: [JAVA2D] java2d Compositing - OpenGL fragment shaders
Hi Mik,
On Feb 22, 2007, at 2:11 AM, Michele Puccini
Hi Mark,
The shader-based acceleration enhancements that we've been adding to
Java 2D's OpenGL pipeline work on all shader-level GPUs, including the
first-generation shader boards that came out about 5 years ago. Another
way to put it:
ATI:Radeon 9500 and above
Nvidia: GeForce FX 5xxx
Hi Mik,
On Feb 22, 2007, at 2:11 AM, Michele Puccini wrote:
A little followup..
the fragment shader code of my previous email was bloody wrong as
the docs
say:
Notice that the fragment shader has no access to the frame buffer.
This
implies that operations such as blending occur only after the
Hi Tyler,
First, if you do need to go the manual route, it's best to stay away
from PixelGrabber. The BufferedImage and related newer APIs are your
friend.
Second, have you tried ColorConvertOp?
http://java.sun.com/javase/6/docs/api/java/awt/image/ColorConvertOp.html
You should be able to
Hi Garrett,
It's really tough to tell what could be going on without having a
complete testcase to try out. Since in this case it looks like
Graphics2D.fill(Rectangle) is slower in 1.6 than in 1.5, perhaps you
could extract a small microbenchmark that times only that particular
operation, and
Hi Stéphane,
On which OS/platform is the server running? Is it running in
headless mode?
The image has roughly 1500 points which are displayed using a
symbol stored in a GIF image.
I'm confused by this statement. Are you saying that the original SVG
document is being converted into a
Hello,
Are you trying to blend the images in a Swing window, for example?
Either way, AlphaComposite is your friend. The basic approach looks
like this:
float alpha = 0f;
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
Composite oldcomp =
Hi Sonal,
Since this is purely a JAI question, you may have better luck asking
the question on the [EMAIL PROTECTED] list, not the Java 2D
interest list.
Chris
On Nov 21, 2006, at 11:08 PM, Makwana Sonal wrote:
HI,
I am performing the rotate operation on planarimage.my code to
rotate the
Hi Mik,
You might also be able to glean some ideas from the SwingLabs team's
recent work on Painters. The basic approach is to paint text as an
outline (and shapes, images, etc) and then perform various effects on
each layer, for example:
Hi Don,
What graphics card and driver version are you using? Please note that
there are significant improvements to the OpenGL-based pipeline in Java
SE 6, and you are unlikely to see this problem if you try JDK 6:
http://java.sun.com/javase/downloads/ea.jsp
For more details, see this bug
Hi Mik,
There's no official way to disable the gray-rect fix, but here's a
simple way to do it: install a trivial RepaintManager. This will revert
to the JDK 5 behavior, which might help you figure out if the gray-rect
fix is related to your performance issues. Let us know what you find.
For
Hi Jan,
On Nov 10, 2006, at 3:17 AM, Jan Bösenberg (INCORS GmbH) wrote:
In one application I do a lot of text rendering and some line drawing.
Much to my surprise, my profiler says that the app spends much more
time
on line drawing than on the text rendering. OK, I am using ready made
Message -
From: Chris Campbell [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 13, 2006 5:58 PM
Subject: Re: [JAVA2D] Gray Rect fix of Java2 SE 6
Hi Mik,
There's no official way to disable the gray-rect fix, but here's a
simple way to do it: install a trivial RepaintManager
Hi Andries,
Have you tried enabling antialiasing? Without that, there's no way
to have a smooth transition between integral line widths (after all,
you can't fill fractional parts of pixels). With antialiasing, you
can at least trick the eye into thinking that there are fractional
line widths.
Even if you can't run the OGL pipeline on your machine, it would be
great if you could at least generate numbers for Java2D's X11 pipeline
and compare against his QT results. If you get this far, I'd be happy
to run your benchmark on one of our machines with the OGL pipeline enabled.
I think
In case you weren't aware, there is a new RadialGradientPaint class in
JDK 6 that should work for you. In particular, check out this
constructor, which allows you to specify the (rectangular) bounds of an
ellipse:
Hi Jan,
This is an interesting proposal. It's also timely in that we've
recently been discussing the possibility of adding a
JComponent.setAlpha() (or similarly named method), and you touch upon
some issues that came up in that discussion.
Swing and Java2D developers have certainly run
On Sep 29, 2006, at 9:01 AM, [EMAIL PROTECTED] wrote:
By the way, with Java 6 build 98 I found that setting full-screen
mode with the OGL pipeline after the JFrame was already visible in
windowed mode caused weird white black flashing screens, stripey
rendering or just a black screen. This
On Sep 29, 2006, at 3:28 AM, [EMAIL PROTECTED] wrote:
My question: What does the antiliasing algorithm do?
It basically blends the source pixels at the edge of a shape with the
corresponding destination pixels:
http://download.java.net/jdk6/docs/api/java/awt/
Hi Mark,
On Sep 17, 2006, at 11:41 PM, [EMAIL PROTECTED] wrote:
Chris,
Thanks for your reply. I have now changed my PoC to use the Swing
backbuffer.
What kind of image is this? Is it a BufferedImage?
It is a plain old Image. This is being returned (asynchronously) by
a third party API,
Hi Mark,
On Sep 13, 2006, at 7:40 PM, [EMAIL PROTECTED] wrote:
Hi all,
I am currently trying to modify an application which displays an
image with various Java2D primitives rendered over it in the middle
of a JFrame, with various Swing components around the edges of the
JFrame (a JMenuBar and
You're probably better off waiting until javagaming.org is restored
and ask this question on the JOGL forum. But I'll take a stab.
Has JGears ever worked for you in the past (with different driver/JDK/
JOGL versions)? In other words, is this a new problem?
Which JDK build are you using? What
Please test with JDK 6 first and let us know what you find. It would
be a big help if you could do a set J2D_TRACE_LEVEL=4 and then run
the same Java2D app, first with DirectX enabled, then again with
DirectX disabled, and provide us with the output in each case. That
will give us a better idea
Hi Keith,
Is this not the same issue as we discussed on the javagaming.org
forum recently?
http://www.javagaming.org/forums/index.php?
topic=14092.msg113696#msg113696
The sun.java2d.opengl system property wasn't in the secure list for
JRE 5, but was added to the list for JRE 6. Try again with
Hi Denis,
I believe the bug you're running into was fixed in JDK 6. However,
there's a more efficient way to copy a subregion of a BufferedImage
without using getSubimage() (the latter method has some non-obvious
side effects, so it's best to avoid it if at all possible).
The best way is to
Hi there,
Could you post the output of xdpyinfo?
What is the output of:
% ls -l /usr/lib/Xrandr*
What happens if you set the following before running your test:
% export J2D_TRACE_LEVEL=4
Thanks,
Chris
[EMAIL PROTECTED] wrote:
I'm having trouble to get fullscreen working.
When I run
Hi,
Although the GraphicsDevice docs aren't perfectly clear about this
(we're working on that), you need to be in fullscreen mode first before
you can query whether display mode changing is possible. If you go into
fullscreen mode and then print the list of available display modes
Hi Scott,
On Jun 1, 2006, at 5:47 AM, [EMAIL PROTECTED] wrote:
Sorry for this off-topic question:
in.createGraphics().getDeviceConfiguration();
The Graphics2D returned from in.createGraphics() can't be dispose
()'d. How do we know that it's safe to do this without leaking
Hi Doug,
First, it's best to avoid getScaledInstance(); there are better/faster
ways to do what you want (see the Java 2D FAQ [1]). Second, in order to
preserve the transparency from your original image, you'll need to call
g2d.setComposite(AlphaComposite.Src) before copying the original into
Hi Mark,
You can probably get a more detailed answer if you ask this question
over on the javagaming.org JOGL forum, but...
Is your GLCanvas embedded within the bounds of another JComponent?
In this case, it is common to see flickering issues due to
heavyweight/lightweight mixing. It's tough
Hi Scott,
The scanlineStride property isn't defined on the base SampleModel
class, but it is on ComponentSampleModel (which is the SM used by
TYPE_3BYTE_BGR):
http://download.java.net/jdk6/docs/api/java/awt/image/
ComponentSampleModel.html
Thanks,
Chris
On May 11, 2006, at 11:01 AM, [EMAIL
Hi Rob,
On Apr 5, 2006, at 8:42 AM, Rob Ross wrote:
I asked this about a week ago and didn't get a response, so let me
try again.
If there is another list that might be more appropriate, I'd
appreciate that info too.
Have you asked on the Swing forum on java.net? This is more of a
Swing
Hi Peter,
Thanks for mentioning that bug report. I was going to refer Thomas
to that bug to see if it helps his problem. (That bug fix was just
backported to 1.5, and should appear in the next update release,
which is why it is not reported as fixed yet.)
Thomas: I looked at your last two
Well, Class.getName() will include the full package name, so it won't
just return Graphics2D, it will return java.awt.Graphics2D. You're
probably better off just using if (g instanceof Graphics2D).
But then I'm not really sure why you need to structure the code the
way you do below. The code
Hi Bira,
The fill color is solid. Maybe I used something somewhere else? What
could have caused the fillRect function to cause so many MaskFills?
I suspect that you have the antialiasing RenderingHint enabled when you
clear the background. Antialiasing has no real visual effect on
fillRect()
Hi Emmanuel,
The short answer is no, unfortunately. In a future release we hope to
have better interoperability between Java2D and JOGL, and this is
something we can take into consideration. Another possibility would be
to add support for PerspectiveTransform in core Java2D, at which point
we
the drawLine to OpenGL specifically that
the
width setting is 1, or will 0 work as well?
Brian
-Original Message-
From: Discussion list for Java 2D API
[mailto:[EMAIL PROTECTED] Behalf Of Chris Campbell
Sent: Friday, November 12, 2004 4:57 PM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA2D] Tiger
Hi Manie,
By latest Nvidia drivers, do you mean 6629? What bit depth are you
running (8, 16, 32)? Which Nvidia board do you have?
I think I'd need to see the full output of glxinfo to diagnose the
problem further. If glxinfo reports errors, then it sounds like your
drivers aren't configured
Hi there,
On Nov 8, 2004, at 5:03 PM, M. Halpin wrote:
Does anyone know if there's a detailed list of what's accelerated
under the OpenGL pipeline?
Funny you should ask, I've been working on such a document recently.
I've posted this information informally in a few places (javagaming,
javalobby,
Hi Emmanuel,
The issue you describe below is:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5106309
Thanks,
Chris
On Oct 21, 2004, at 3:12 AM, Emmanuel Pietriga wrote:
Emmanuel Pietriga wrote:
Hi Emmanuel,
I believe this is a known issue; see:
Hi Palani,
Could you explain what you mean by distorted? I ran your testcase
and it seems to work as expected.
BTW, your code that calculates the scale factors and whatnot could be
greatly simiplified. Since you're just doing simple scaling, there's
no need to use AffineTransform. Instead, you
Hi Francisco,
The JPEGImageEncoder/Decoder classes (in the com.sun.image.codec.jpeg
package) that you're using here are not supported. Since JDK 1.4, the
Image I/O API is the supported mechanism for reading and writing
images, and the JPEG IIO plugins should be higher quality than the
older
Hi Mik,
Michele Puccini wrote:
You make my day, Chris! (I'm using this you make my day idiomatic phrase
because I'm quite sure it means something like you make my day happier with
this positive news. English is not my primary language so correct me, just
in case..).
Yes, you got it right...
Hi Mik,
We were thinking about sending out this piece of news on April 1 [April
Fool's Day in the US], but we figured no one would believe us. Anyway,
yes, the OGL-based pipeline will be available on Windows in 1.5-beta2.
Keep in mind that it should be considered a technology preview for
Hi Jürg,
This sounds a lot like 4836466, which we closed as not a bug. See
the report for more details:
http://developer.java.sun.com/developer/bugParade/bugs/4836466.html
Basically, it appears that many native apps have poor support for JPEG
images with an alpha channel. If you can read
you on of those images for analysis.
Yes, that would be very helpful, in addition to the testcase.
Thanks,
Chris
Best
Jürg
Am 23.03.2004 um 19:40 schrieb Chris Campbell:
Hi Jürg,
This sounds a lot like 4836466, which we closed as not a bug. See
the report for more details:
http
Hi Keith,
On Mar 17, 2004, at 9:05 AM, Keith Lea wrote:
Chet Haase wrote:
The current plan is for the OpenGL pipeline to be disabled by default,
but enabled via a command-line flag.
Does this mean that applets and programs run by double-clicking a jar
file won't be able to use the OpenGL
Hi Bill,
If you send some more information, I can probably figure out why the
OGL pipeline is not being enabled on your system:
- OS version
- video card model
- output of glxinfo
- output of xdpyinfo
I'm going to see if there is a way that we can print out more
information when OGL
Message-
From: Chris Campbell [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 16, 2004 12:20 PM
To: Bill Napier
Cc: [EMAIL PROTECTED]
Subject: Re: [JAVA2D] jdk1.5 and Java2d opengl pipeline renderer
Hi Bill,
If you send some more information, I can probably figure out why the
OGL pipeline
not
support (they say drivers are the laptop manufacturer's
responsibility).
Are there any plans for partial support for older GLX versions? In my
experience it seems that most people use the dri.sf.net drivers, but I
might be wrong.
Thanks,
-Keith
Chris Campbell wrote:
Hi Keith,
It sounds like your
Hi Keith,
It sounds like your DRI drivers are fairly up-to-date, but I believe
that all DRI-based drivers only support GLX 1.2. And as you mention,
the OGL-based Java 2D pipeline requires GLX 1.3 (for using pbuffers,
locating appropriate visuals, etc).
ATI, Nvidia, and Sun (and possibly others)
Hi Praveen,
I'm not exactly sure what you're trying to do, and I assume you mean
writing a PNG image using Image I/O. But the short answer is no, you
need a RenderedImage or BufferedImage in order to use the
ImageIO.write() methods.
Chris
On Thursday, August 7, 2003, at 09:51 AM,
.
===
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.
--
Chris Campbell
Hi Carlos,
I'm not entirely sure what you mean when you say the pixels are messed
up, but it doesn't look like you're doing anything wrong. You may have
hit a bug in AffineTransformOp. Please submit a bug report and attach
a simple testcase that we can run to reproduce the problem.
You may be
in the body of the message help.
--
Chris Campbell 408-276-6429
[EMAIL PROTECTED] x16429
Sun Microsystems, Java 2D USCA22-212
===
To unsubscribe, send email to [EMAIL PROTECTED] and include
] and include in the body of the message help.
--
Chris Campbell 408-276-6429
[EMAIL PROTECTED] x16429
Sun Microsystems, Java 2D USCA22-212
===
To unsubscribe, send email to [EMAIL PROTECTED
currently using the same scale factor.
Thanks again for any help you can provide!
Regards,
Randy
- Original Message -
From: Chris Campbell [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, October 16, 2002 7:49 PM
Subject: Re: [JAVA2D] Question on enlarging
.
===
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.
--
Chris Campbell
===
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.
--
Chris Campbell 408-276
, there is no problem.
If I save the image instead of displaying it (using filestore) and
than load it and display scaled there is no problem either.
I can send the images I tested if it is necessary, maybe there is
something wrong with them.
Any ideas?
Regards,
Jakub Jablonski
--
Chris Campbell
reen using GDI for cases that
GDI can support. We are looking at how to generalize that support to
include offscreen images. We will also continue to explore the
possibility of utilizing OpenGL, Direct3D, DirectDraw for possible
performance enhancements across many platforms, and we will certainly
repo
87 matches
Mail list logo