Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (580)
games submitted by our members
Games in WIP (499)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 ... 5 6 [7]
  ignore  |  Print  
  Will the Java Platform Create The World's Largest App Store?  (Read 40289 times)
0 Members and 1 Guest are viewing this topic.
Offline kevglass

JGO Kernel


Medals: 85
Projects: 25


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #180 - Posted 2009-11-27 22:35:30 »

Quote
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

Offline TheAnalogKid

JGO Coder


Projects: 3



« Reply #181 - Posted 2009-11-27 22:42:42 »

How can it be so awful? Sorry, that's the reaction I have now.

Offline No Mercy

Senior Newbie





« Reply #182 - Posted 2009-12-10 16:16:08 »

A new release of the Java Store is available  Smiley

http://store.java.com
http://java.sun.com/warehouse/

This release brings a number of new features such as account creation into the client, provides the ability to preview your apps using the store view for developers
outside of the US, improves integration with PayPal,  improve performance, numerous smaller features, and bug fixes.

The Java Warehouse is also now open to 6 new countries to submit free apps :
 - Israel
 - Belgium
 - Germany
 - Poland
 - Taiwan
 - S. Korea

The Java Warehouse is now open in 14 countries
http://java.sun.com/warehouse/overview/locations.jsp

A new intro video is also available
http://sun.edgeboss.net/download/sun/mp4/10b02249_00.mp4

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #183 - Posted 2009-12-10 16: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
Online kappa
« League of Dukes »

JGO Kernel


Medals: 70
Projects: 15


★★★★★


« Reply #184 - Posted 2009-12-10 16: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://store.java.com/client/vector-client-gui2.jar version = null sofar = 0 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 0 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 11168 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 22336 total = 558419 per = 1
Unable to load resource: http://store.java.com/client/vector-client-gui2.jar
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://store.java.com/client/vector-client-gui2.jar
  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.
Offline JL235

JGO Coder


Medals: 10



« Reply #185 - Posted 2009-12-10 16: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.

Offline h3ckboy
« Reply #186 - Posted 2009-12-10 17:19:44 »

yes I am added. Never thought they would come to our small flanders Tongue
Offline No Mercy

Senior Newbie





« Reply #187 - Posted 2009-12-10 18: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://store.java.com/client/vector-client-gui2.jar version = null sofar = 0 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 0 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 11168 total = 558419 per = 0
progress: http://store.java.com/client/vector-client-gui2.jar version = null sofar = 22336 total = 558419 per = 1
Unable to load resource: http://store.java.com/client/vector-client-gui2.jar
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://store.java.com/client/vector-client-gui2.jar
  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.
Online kappa
« League of Dukes »

JGO Kernel


Medals: 70
Projects: 15


★★★★★


« Reply #188 - Posted 2009-12-10 18:17:12 »

ah, right you are, uninstalling and trying again makes it work.
Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #189 - Posted 2009-12-10 19: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!
Legends of Yore - The Casual Retro Roguelike
Offline TheAnalogKid

JGO Coder


Projects: 3



« Reply #190 - Posted 2009-12-10 21:09:16 »

And this is supposed to be fixed in a near to be released Java 6 update? I mean the translucency performance issue?

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #191 - Posted 2009-12-10 21: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
Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #192 - Posted 2009-12-10 21: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
Offline TheAnalogKid

JGO Coder


Projects: 3



« Reply #193 - Posted 2009-12-10 22:11:16 »

Quote
but it doesn't eliminate the problem completely (the need to update layered window).
Why? Can you explain? I'm very interested.

Offline zammbi

JGO Coder


Medals: 4



« Reply #194 - Posted 2009-12-10 22: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.

Current project - Rename and Sort
Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #195 - Posted 2009-12-11 05: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
Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #196 - Posted 2009-12-11 05: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.
Offline zammbi

JGO Coder


Medals: 4



« Reply #197 - Posted 2009-12-11 05:58:16 »

Interesting stuff. Thanks for explaining.

Current project - Rename and Sort
Offline jezek2
« Reply #198 - Posted 2009-12-11 10: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).
Offline princec

JGO Kernel


Medals: 282
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #199 - Posted 2009-12-11 10: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 Smiley

Offline Spasi
« Reply #200 - Posted 2009-12-11 13: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?
Offline jezek2
« Reply #201 - Posted 2009-12-11 14: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.
Offline TheAnalogKid

JGO Coder


Projects: 3



« Reply #202 - Posted 2009-12-11 15:31:27 »

Thanks for the explanations trembovetski, I understand much better the issue. Lets hope Java 6u18 had a significant performance boost.

Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #203 - Posted 2009-12-11 18: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
Offline trembovetski

Senior Member




If only I knew what I'm talking about!


« Reply #204 - Posted 2009-12-11 18: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
Pages: 1 ... 5 6 [7]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (44 views)
2014-04-15 18:08:23

BurntPizza (40 views)
2014-04-15 03:46:01

UprightPath (56 views)
2014-04-14 17:39:50

UprightPath (38 views)
2014-04-14 17:35:47

Porlus (54 views)
2014-04-14 15:48:38

tom_mai78101 (77 views)
2014-04-10 04:04:31

BurntPizza (136 views)
2014-04-08 23:06:04

tom_mai78101 (236 views)
2014-04-05 13:34:39

trollwarrior1 (197 views)
2014-04-04 12:06:45

CJLetsGame (205 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!