kevglass
|
 |
«
Reply #180 - Posted
2009-11-27 21:35:30 » |
|
Sun contacted me about SingSong and I tried putting an app in the store. They even provided people I could contact with problems. It took many iterations and bug reports to finally get it going. The submission site is terrible.
Ditto with me with Tiltilation. I still don't have it working and I have lost hope of it ever doing so. I found it really hard to have a 2 way developer conversation with the other side in this too - spent ages trying to say that if Tilt didn't work then could they try another LWJGL app just to test the machine. I've just given up now, though I still get regular reminded emails from warehouse :/ Kev
|
|
|
|
TheAnalogKid
|
 |
«
Reply #181 - Posted
2009-11-27 21:42:42 » |
|
How can it be so awful? Sorry, that's the reaction I have now.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
Riven
|
 |
«
Reply #183 - Posted
2009-12-10 15:27:48 » |
|
The intro video is actually quite nice, visually. If Sun hires the same artist to design the application, it might actually be used by the casual audience.
|
Hi, appreciate more people! Σ ♥ = ¾ Learn how to award medals... and work your way up the social rankings!
|
|
|
kappa
|
 |
«
Reply #184 - Posted
2009-12-10 15:34:22 » |
|
yay, crashes for me on first attempt to run it 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| Java Web Start 1.6.0_17 Using JRE version 1.6.0_17-b04 Java HotSpot(TM) Client VM User home directory = C:\Users\myusernamehere ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message m: print memory usage o: trigger logging p: reload proxy configuration q: hide console r: reload policy configuration s: dump system and deployment properties t: dump thread list v: dump thread stack 0-5: set trace level to <n> ---------------------------------------------------- server running at port: 56276 ========== JNLP App Launcher starting ========== current thread = AWT-EventQueue-0 in the app launcher. args = printing an array: [Ljava.lang.String;@1878144 Len = 0 checking for Java 6 or higher server running at port: 56276 ======= verifying the cache ========= javafx is cached = false javafx is cached = true appstore is cached = false progress: null version = null sofar = 0 total = 0 per = -1 progress: http: progress: http: progress: http: progress: http: Unable to load resource: http: com.sun.deploy.net.FailedDownloadException: Unable to load resource: http: at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadParts(Unknown Source) at com.sun.jnlp.JNLPClassLoader.downloadParts(Unknown Source) at com.sun.jnlp.DownloadServiceImpl$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.verifyCache(JNLPAppLauncher.java:207) at com.sun.services.appstore.launcher.JNLPAppLauncher.realMain(JNLPAppLauncher.java:58) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$000(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$1.run(JNLPAppLauncher.java:41) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.io.IOException: EOF reading band at com.sun.java.util.jar.pack.NativeUnpack.start(Native Method) at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source) at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source) at com.sun.java.util.jar.pack.UnpackerImpl.unpack(Unknown Source) at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source) at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadParts(Unknown Source) at com.sun.jnlp.JNLPClassLoader.downloadParts(Unknown Source) at com.sun.jnlp.DownloadServiceImpl$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.verifyCache(JNLPAppLauncher.java:207) at com.sun.services.appstore.launcher.JNLPAppLauncher.realMain(JNLPAppLauncher.java:58) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$000(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$1.run(JNLPAppLauncher.java:41) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) sun.awt.image.PNGImageDecoder$PNGException: crc corruption at sun.awt.image.PNGImageDecoder.getChunk(Unknown Source) at sun.awt.image.PNGImageDecoder.getData(Unknown Source) at sun.awt.image.PNGImageDecoder.produceImage(Unknown Source) at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source) at sun.awt.image.ImageFetcher.fetchloop(Unknown Source) at sun.awt.image.ImageFetcher.run(Unknown Source) com.sun.javafx.runtime.main.Main java.lang.ClassNotFoundException: com.sun.javafx.runtime.main.Main at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.launchApp(JNLPAppLauncher.java:139) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$200(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$2.run(JNLPAppLauncher.java:62) at com.sun.services.appstore.launcher.JNLPAppLauncher$5.run(JNLPAppLauncher.java:215) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) |
Just froze on the splash screen with no error message or response, lucky I had the java console enabled to see that it had crashed, had to kill it with the task manager.
|
|
|
|
JL235
|
 |
«
Reply #185 - Posted
2009-12-10 15:42:02 » |
|
The video says that in the US the Java Store is offered to over 50 million consumers, but who many of those actually use it? As a potential developer that's what I'd like to know.
|
|
|
|
h3ckboy
|
 |
«
Reply #186 - Posted
2009-12-10 16:19:44 » |
|
yes I am added. Never thought they would come to our small flanders 
|
|
|
|
No Mercy
Senior Newbie 
|
 |
«
Reply #187 - Posted
2009-12-10 17:01:49 » |
|
Look likes you are using an older version from the log trace you submitted. Uninstall the version you have and get the latest version at store.java.com yay, crashes for me on first attempt to run it 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| Java Web Start 1.6.0_17 Using JRE version 1.6.0_17-b04 Java HotSpot(TM) Client VM User home directory = C:\Users\myusernamehere ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message m: print memory usage o: trigger logging p: reload proxy configuration q: hide console r: reload policy configuration s: dump system and deployment properties t: dump thread list v: dump thread stack 0-5: set trace level to <n> ---------------------------------------------------- server running at port: 56276 ========== JNLP App Launcher starting ========== current thread = AWT-EventQueue-0 in the app launcher. args = printing an array: [Ljava.lang.String;@1878144 Len = 0 checking for Java 6 or higher server running at port: 56276 ======= verifying the cache ========= javafx is cached = false javafx is cached = true appstore is cached = false progress: null version = null sofar = 0 total = 0 per = -1 progress: http: progress: http: progress: http: progress: http: Unable to load resource: http: com.sun.deploy.net.FailedDownloadException: Unable to load resource: http: at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadParts(Unknown Source) at com.sun.jnlp.JNLPClassLoader.downloadParts(Unknown Source) at com.sun.jnlp.DownloadServiceImpl$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.verifyCache(JNLPAppLauncher.java:207) at com.sun.services.appstore.launcher.JNLPAppLauncher.realMain(JNLPAppLauncher.java:58) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$000(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$1.run(JNLPAppLauncher.java:41) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.io.IOException: EOF reading band at com.sun.java.util.jar.pack.NativeUnpack.start(Native Method) at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source) at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source) at com.sun.java.util.jar.pack.UnpackerImpl.unpack(Unknown Source) at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source) at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadParts(Unknown Source) at com.sun.jnlp.JNLPClassLoader.downloadParts(Unknown Source) at com.sun.jnlp.DownloadServiceImpl$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.jnlp.DownloadServiceImpl.loadPart(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.verifyCache(JNLPAppLauncher.java:207) at com.sun.services.appstore.launcher.JNLPAppLauncher.realMain(JNLPAppLauncher.java:58) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$000(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$1.run(JNLPAppLauncher.java:41) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) sun.awt.image.PNGImageDecoder$PNGException: crc corruption at sun.awt.image.PNGImageDecoder.getChunk(Unknown Source) at sun.awt.image.PNGImageDecoder.getData(Unknown Source) at sun.awt.image.PNGImageDecoder.produceImage(Unknown Source) at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source) at sun.awt.image.ImageFetcher.fetchloop(Unknown Source) at sun.awt.image.ImageFetcher.run(Unknown Source) com.sun.javafx.runtime.main.Main java.lang.ClassNotFoundException: com.sun.javafx.runtime.main.Main at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.sun.services.appstore.launcher.JNLPAppLauncher.launchApp(JNLPAppLauncher.java:139) at com.sun.services.appstore.launcher.JNLPAppLauncher.access$200(JNLPAppLauncher.java:28) at com.sun.services.appstore.launcher.JNLPAppLauncher$2.run(JNLPAppLauncher.java:62) at com.sun.services.appstore.launcher.JNLPAppLauncher$5.run(JNLPAppLauncher.java:215) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) |
Just froze on the splash screen with no error message or response, lucky I had the java console enabled to see that it had crashed, had to kill it with the task manager.
|
|
|
|
kappa
|
 |
«
Reply #188 - Posted
2009-12-10 17:17:12 » |
|
ah, right you are, uninstalling and trying again makes it work.
|
|
|
|
trembovetski
|
 |
«
Reply #189 - Posted
2009-12-10 18:00:11 » |
|
I know this will fall on deaf ears (again) but please please make the app stop using translucent/shaped windows (at least on Windows). This slows the app down by a factor of 10x. All the (supposed) prettiness in the world isn't worth it.
Dmitri
|
|
|
|
Games published by our own members! Check 'em out!
|
|
TheAnalogKid
|
 |
«
Reply #190 - Posted
2009-12-10 20:09:16 » |
|
And this is supposed to be fixed in a near to be released Java 6 update? I mean the translucency performance issue?
|
|
|
|
Riven
|
 |
«
Reply #191 - Posted
2009-12-10 20:26:13 » |
|
And this is supposed to be fixed in a near to be released Java 6 update? I mean the translucency performance issue?
If Sun engineers are trying to reach other Sun engineers using JGO, it's probably a last resort and not very likely to happen. Having said that, I can only hope they really make this thing a success. It is a concept that is very likely to make serious money -- once they get the basics right. Maybe fire the bunch and bring in some new blood.
|
Hi, appreciate more people! Σ ♥ = ¾ Learn how to award medals... and work your way up the social rankings!
|
|
|
trembovetski
|
 |
«
Reply #192 - Posted
2009-12-10 20:54:20 » |
|
And this is supposed to be fixed in a near to be released Java 6 update? I mean the translucency performance issue?
The fix in 6u18 does help (the window isn't repainted from scratch every time a single pixel is updated), but it doesn't eliminate the problem completely (the need to update layered window). Dmitri
|
|
|
|
TheAnalogKid
|
 |
«
Reply #193 - Posted
2009-12-10 21:11:16 » |
|
but it doesn't eliminate the problem completely (the need to update layered window). Why? Can you explain? I'm very interested.
|
|
|
|
zammbi
|
 |
«
Reply #194 - Posted
2009-12-10 21:19:53 » |
|
How come it was done like that from the start? and then taken this long to fix? My small app of 300x300 pixel window I don't see any problems with high cpu, so hopefully the window is small enough.
|
|
|
|
trembovetski
|
 |
«
Reply #195 - Posted
2009-12-11 04:35:01 » |
|
Why? Can you explain? I'm very interested.
There are two steps in "repainting" a translucent Swing window on Windows. First is to render swing stuff into the swing back buffer, the second is to update the window representation using win32's UpdateLayeredWindow. Prior to 6u18 on any update we'd repaint whole window into the backbuffer. So even if you had a blinking cursor, it'd re-render the whole thing. So that's fixed in 6u18 (btw, you could try it out http://download.java.net/jdk6/binaries/ ) - it only repaints what's needed into the persistent back-buffer. This does help, especially if repainting itself is costly (like in case of javafx apps where there could be effects and transforms and stuff). But we still have to copy whole back buffer into the layered window. AFAIK there's no way to update only a part of layered window., so the whole window has to be updated every time. The sucky part is that the swing backbuffer could be in vram, which means that sucking it in and copying into a layered window through system memory could be very slow (better on pcix bus, which is where we let the hw-acceleration enabled for translucent windows). You'd think we could always disable hw accelerated backbuffer for translucent windows and save ourselves a vram->sysmem copy, but it'd be very bad for JavaFX apps which need hw acceleration for effects (otherwise they'd be done in software, which is even slower than copying from vram to system). Basically, on Windows layered windows were never intended to be used for animated content (especially for larger sizes windows). This is from msdn docs for LayeredWindows: "For best drawing performance by the layered window and any underlying windows, the layered window should be as small as possible.". But apparently designers looove rounder corners on their windows, so they just slap it on without any concern for performance implications (just like they should), but engineering is supposed keep them in reign.. Dmitri
|
|
|
|
trembovetski
|
 |
«
Reply #196 - Posted
2009-12-11 04:45:39 » |
|
How come it was done like that from the start? and then taken this long to fix? My small app of 300x300 pixel window I don't see any problems with high cpu, so hopefully the window is small enough.
Because when this feature was being developed (in 6u10) there wasn't enough time/people to do it properly, and also this way was the safest with fewest changes, I believe. Once the swing/awt dudes had the time to redo this, it was first done in jdk7, baked there for a while, and finally was deemed safe enough to backport to 6uN train, and only after all prerequisites (other bugfixes this one relied on) for this fix were first ported (which was a major pain). Even then the fix introduced a few regressions in 6uN code, which had to be patched a few times, which is why the full fix didn't make it into any earlier releases.
|
|
|
|
zammbi
|
 |
«
Reply #197 - Posted
2009-12-11 04:58:16 » |
|
Interesting stuff. Thanks for explaining.
|
|
|
|
jezek2
|
 |
«
Reply #198 - Posted
2009-12-11 09:12:25 » |
|
Couldn't be this workarounded by having alpha blended window just for the rounded frame and have another fully opaque window for content?
BTW, it would be nice to use shaped windows as well... on Linux when there is no compositing stuff it just add white border (sometimes pretty big).
|
|
|
|
princec
|
 |
«
Reply #199 - Posted
2009-12-11 09:56:28 » |
|
The problem is that the Windows API for this is all-or-nothing I think - a window is either translucent or it's an opaque rectangle. To make a central bit opaque would effectively mean AWT would have to manage such a window as a composite of smaller bits and pieces - doable but probably pretty hard without a lot of fiddly code. And I expect the Java APIs to actually state that some bit of the window is opaque whilst the rest is not would look quite grim too. Cas 
|
|
|
|
Spasi
|
 |
«
Reply #200 - Posted
2009-12-11 12:12:27 » |
|
I would expect translucent/shaped windows to be much faster and easier to do on Windows Vista/7. Isn't there any new DWM API that allows you to implement this with better performance?
|
|
|
|
jezek2
|
 |
«
Reply #201 - Posted
2009-12-11 13:22:05 » |
|
The problem is that the Windows API for this is all-or-nothing I think - a window is either translucent or it's an opaque rectangle. To make a central bit opaque would effectively mean AWT would have to manage such a window as a composite of smaller bits and pieces - doable but probably pretty hard without a lot of fiddly code. And I expect the Java APIs to actually state that some bit of the window is opaque whilst the rest is not would look quite grim too.
Yeah, that was on my mind. I've seen it in some SW that added shadows to windows and it worked pretty well, even if the shadows were actually 4 smaller windows along the sides. AWT shouldn't do this automatically... just manage the windows yourself in such way. However AWT could do automatic shaping of translucent windows on fully transparent areas to avoid the issue on Linux I mentioned.
|
|
|
|
TheAnalogKid
|
 |
«
Reply #202 - Posted
2009-12-11 14:31:27 » |
|
Thanks for the explanations trembovetski, I understand much better the issue. Lets hope Java 6u18 had a significant performance boost.
|
|
|
|
trembovetski
|
 |
«
Reply #203 - Posted
2009-12-11 17:24:01 » |
|
I would expect translucent/shaped windows to be much faster and easier to do on Windows Vista/7. Isn't there any new DWM API that allows you to implement this with better performance?
Not much in terms of performance difference on Vista/7 layered windows, but you're right, they do have some DWM APIs which make it sort of possible, but only when D3D is used, and only when Aero is enabled. This is certainly a possibility. For Prism (the new JavaFX graphics stack) we'd probably only support translucent windows on W7/Vista through those APIs. Dmitri
|
|
|
|
trembovetski
|
 |
«
Reply #204 - Posted
2009-12-11 17:28:58 » |
|
Yeah, that was on my mind. I've seen it in some SW that added shadows to windows and it worked pretty well, even if the shadows were actually 4 smaller windows along the sides. AWT shouldn't do this automatically... just manage the windows yourself in such way. However AWT could do automatic shaping of translucent windows on fully transparent areas to avoid the issue on Linux I mentioned.
I don't think this is AWT's job. The developer could use the provided API to determine if translucent windows are supported or not, and modify app's behavior accordingly. One issue is with JavaStore is that currently there isn't a JavaFX API that tells you whether translucent windows are supported or not. Dmitri
|
|
|
|
|