"Hi,
Java, I think, is a more restrictive version of the two, in terms of what you can pull from the client.
Flash will provide you with some information through the Capabilities class, it has slightly weaker security than Java, so I think this is the best choice.
package { import flash.display.Sprite; import flash.system.Capabilities; public class CapabilitiesExample extends Sprite { public function CapabilitiesExample() { showCapabilities(); } private function showCapabilities():void { trace("avHardwareDisable: " + Capabilities.avHardwareDisable); trace("hasAccessibility: " + Capabilities.hasAccessibility); trace("hasAudio: " + Capabilities.hasAudio); trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder); trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo); trace("hasMP3: " + Capabilities.hasMP3); trace("hasPrinting: " + Capabilities.hasPrinting); trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast); trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback); trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio); trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder); trace("isDebugger: " + Capabilities.isDebugger); trace("language: " + Capabilities.language); trace("localFileReadDisable: " + Capabilities.localFileReadDisable); trace("manufacturer: " + Capabilities.manufacturer); trace("os: " + Capabilities.os); trace("pixelAspectRatio: " + Capabilities.pixelAspectRatio); trace("playerType: " + Capabilities.playerType); trace("screenColor: " + Capabilities.screenColor); trace("screenDPI: " + Capabilities.screenDPI); trace("screenResolutionX: " + Capabilities.screenResolutionX); trace("screenResolutionY: " + Capabilities.screenResolutionY); trace("serverString: " + Capabilities.serverString); trace("version: " + Capabilities.version); } } }
Example from: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
To determine the speed, you need to do benchmarking.
Advice. By controlling, for example, the rendering / calculation time in javascript, flash or java, you can dynamically change the behavior of your application based on real performance, instead of running the test before launching the application (as I have seen others do). For example: Topic 1: Monitoring and changing data (for example, the degree of rotation in a rotating cube). Theme 2: Make heavy calculations and rendering.
(This is simple in Java with threads, but in flash, you need to do the processing and check the hard code using a monitor on how to proceed).
Tips 2: There are many publicly available tests, so you can narrow down which processors work by launching a benchmark and comparing the results with a database of results.
Hope this helps!
Greetings
source share