I assume you mean an offscreen VolatileImage?
or an [auto-] managed image.
Mik
AdAware (version 6) reports that some kind of data miner (harmful) is run during installation of beta2. No idea what it has spotted, but it is a major problem IMHO - could deter people from installing it and creating a rumor that Sun is installing spyware inside JDK… and you are not, are you ?
[quote]AdAware (version 6) reports that some kind of data miner (harmful) is run during installation of beta2. No idea what it has spotted, but it is a major problem IMHO - could deter people from installing it and creating a rumor that Sun is installing spyware inside JDK… and you are not, are you ?
[/quote]
…and I know gamers who categorically refuse to install the JRE for precisely this reason (suspected adware). Up until now it’s been hard enough convincing them to try even with the knowledge that there wasn’t any.
Just to confirm it is an issue for some gamers :). NB: the 1.4.2 JRE installs did really well - I got people telling me they were surprised “how little crap” got plastered all over the desktop + start menu + etc. It seems that they’d used earlier JRE’s that were rather more “spammy” in their installation…shrug.
[quote]or an [auto-] managed image.
Mik
[/quote]
Managed images are only cached in vram though - any writing to them occurs on the copy in main memory, and invalidates the copy in vram.
How is opengl going to accelerate writes to main memory?
[quote]And Scott, don’t be surprised if performance of the OGL pipeline is still worse (than X11) in some cases on Linux. There are some outstanding driver issues that need to be resolved before we can try to enable this stuff by default. It’s not that we’ve “goofed”, but more like we’ve got 18 billion different driver/hardware/platform combinations to support, and we want to make sure we’ve covered all our bases before this becomes our default pipeline.
[/quote]
Hey, I said SOMEONE goofed… nVidia & ATI included.
Using TexturePaint in 1.4.2_04 and 1.5.0 beta 1 on linux, I get 2 FPS for a particular application (this is the level editor for our game - I’m instead using manual blits to “approximatley” cover the Area’s involved because TP perf is so slow).
With 1.5.0 beta2 I get the same performance (certainly within 10% if not identical).
But…if I enable opengl pipeline, my performance is, um, well how can I put this?
I can watch the individual pixels being drawn to the screen, row by row, on every repaint!
This is for ALL the Swing widgets, not just the custom canvas that is painting my Areas!
It takes it several seconds to make it from the bottom of the screen (1400x1050) to the top (did you know that JDK painted bottom-to-top? I do now ;)…).
This is on a GeForce2Go w/16 Mb RAM and a 1Ghz P-3.
EDIT: sorry, I mean I can see every individual row fill up. It’s not quite slow enough to see the pixels filling up one by one…
-
No, not when your rendering into a BufferedImage. Rendering will be accelerated by OGL when you render into a VolatileImage though, of course.
-
Yes, antialiased text is accelerated by OGL.
Chris
With only 16 MB VRAM, you probably do not have enough VRAM to create a VolatileImage of that size, so the image is being allocated in system memory, which will be slower. There is a performance issue with system memory blit performance on Nvidia’s drivers, which makes it even more painful; we should be able to workaround this in an upcoming release.
We’re also trying out some tricks to allocate VolatileImages in the OGL backbuffer (if it’s not being used in a BufferStrategy situation); this would help minimize VRAM utilization.
Chris
I believe you, but…where’s it all going? It’s only 1.5 million pixels, which is presumably no more than 6 MB. Is it something like: 6MB for current screen, 6MB for grahics driver double-buffer …leaving a paltry 4Mb for apps like Java?
And does this mean it should suddenly get very much faster if I resize the window down to, say, 640x480?
Sudden thought: could THIS be the reason that some (not all) Java OpenGL games run incredibly slowly on this GF2? I’ve not really thought about the memory before - I can play Quake3 at a decent speed with effects, so it never occurred to me to worry :).
The reason some games run fast and some slow on your machine is probably some fecked up Linux twit-mode X configuration foolishness. There’s about 4MB of textures total used in Hallucinogenesis yet it’s not getting hardware accelerated. I find this difficult to believe
Cas
[quote]The reason some games run fast and some slow on your machine is probably some fecked up Linux twit-mode X configuration foolishness. There’s about 4MB of textures total used in Hallucinogenesis yet it’s not getting hardware accelerated. I find this difficult to believe
[/quote]
There’s very very very little in the way of user config on this machine - just enough to force the stupid stupid stupid nvidia driver that yes the 1400x1050 LCD can display more than 800x600 without blowing up (it probes the LCD and decides it’s not safe to go that high, so you have to disable the autoprobing. Sigh).
Given the crapness of nv drivers (all platforms) and their tendency to add regression bugs every other release (I’ve spent too many years with Detonator drivers, always saving backups of the last 3 versions because you so often need to downgrade to keep your games working :() I would currently guess it’s driver bugs.
But the 16Mb is unusual for a GF2, and we know it does small java things (e.g. demos) with acceleration, so I just thought “maybe…”.
(EDIT: for “know” in above para read “think”. If you can point me to a simple demo that I shouldn’t be able to do without hw acceleration, I could verify)
One thing I’ve noted is that the new version(probably since 1.5.0 beta1?) uses XP-LookAndFell. Okay, that’s nice, but, I’m using windows-classic-theme just to get rid of that plastic(in my opinion) look, but, my swing GUIs uses some standard winXP-theme-style.
(I do not use any UIManager.setLook…) It may be that?
Chris,
I did some tests by modifying the good old balls.jar source code by introducing an affinettransform that rotates the gfx context.
(using a Radeon 7000 agp 32Mb with "working"drivers (6.14.10.6396))
-
transforms are hw accelerated. That makes the fps jump very high (up to 100x comparing to “standard” java2d) !
-
bilinear interpolation does not work. Everything seems to be non interpolated.
-
the graphics output looks like being 16bit instead of 32 bit (i use a red shaded translucent ball for the test). This happens with managed images. Volatile images seem to be correct.
-
I can only use resolutions up to 640x480. I only get a black screen with higher resolutions.
I hope this helps.
I understand that the points 2,3,4 may be only driver/board problems, that’s why I think that some “Sun-made” testcode could be of great help in order to test the ogl pipeline both for performance and compliance.
Cheers,
Mik
Chris - please have a word with the desktop team and get them to turn on font antialiasing for font rendering by default. Java applications just look seriously unprofessional these days because of the blocky fonts.
Webstart is still looking totally, utterly, atrociously ugly. Take the programmers out and hang them by the toenails until they’re sorry, and then hire someone who knows about UIs to design it.
I advise losing the XP L&F for Webstart too and going for something a little more “dynamic” (eg. skinned). Make it flashy. Make it special. Make it neat. Make it antialiased. Make it feel like a Mac GUI. Make it feel like a really slick bit of Sony hardware. Don’t make it feel like a rush job written by someone who doesn’t care.
Cas
Doew webstart still pop up that horrible “Desktop intergration” dialog? It would be so nice if you could disable that via a tag in the webstart script.
I wouldn’t mind too much but:
- It has an annoying tendancy to pop up behind every other window, making lots of test subjects think your app has crashed.
- It doesn’t even work whenever I’ve tried it. :o
That feature really does need fixing too. I hope Chris can get some feedback from us under the right noses (I’ve given up on bug parade after the structs fiasco)
Cas
Oh dear. beta 2 has a nasty change (bug?) under linux: MouseListener :(.
Where it used to:
- btn pressed = mousePressed
- mouse moved = mouseDragged
- btn released = mouseReleased
- mouse moved = mouseMoved
- btn pressed = mousePressed
- btn released = mouseReleased
-
+ mouseClicked
it now:
- mousePressed
- mouseDragged
- mouseReleased
- *** mouseClicked ***
- …
So every GUI with 1.5 beta 2 is “broken” - you can’t even drag the windows used by the Sun tutorials without them alternately max/restoring on every drag (they seem to read a drag + “this new phantom click” == double-click) and all my Swing GUIs that e.g. use clicked for selection and dragged for behaviour are alternately deselecting/reselecting on every drag :(. Makes them unusable.
Is this how it is on windows already? It’s been so long since I used one of my own swing guis in windows I can’t remember ;)…
(i.e. this could be like the linux broken keylistener behaviour - something that’s just been broken on linux so long I’ve become used to it, and now it’s been fixed :))
MouseListener seems to work on Windows. I can drag windows around without them doing weird things at least.
Has anyone else noticed that beta 2 will crash the VM on Windows if you use JFileChoosers and have broken shortcuts on your desktop?