Detect if IE11 is using software rendering? - webgl

I'm running a webgl app on two different PCs, both with capable graphics cards that run fine in FF, Chrome and Opera. On my laptop (with an Nvidia card) IE also runs fine. On the desktop PC (which has an ATI card), IE seems to switch to software rendering - a console message indicates this. On this computer, the rendering is unusably slow so I'd like to switch to using the settings I use for mobile devices, which would perform ok.
So my question is, is there any way to know if IE is using software rendering?

The August 2014 update for IE11 included support for failIfMajorPerformanceCaveat at context creation, which should fail to create the context if it's using software rendering.

Related

WebGL 100% Software Mode with RDP and no physical GPU

I want to run multiple Android Apps at the same time on a Virtual Private Server (VPS) under Windows Server 2008 R2, preferably with the chrome app ARChon Custom Runtime 1.2 - x86_64.
Problem is, there is abviously no WebGL with Remote Desktop (RDP) available, even if WebGL is told to have a software mode. No luck with VNC either. I already tried to override and use software emulation by setting the flag in chrome (chrome://flags) - no luck.
I managed to install Bluestacks. All apps are running just fine, so speed is not the problem! Unfortunately Bluestacks is no alternative, because it doesn't support multiple instances.
Any idea on how too force this thing to do it's work?

Is the webkit rendering engine same for safari in ios & mac os\ PC? Like wise is the blink rendering engine same for chrome in android and PC?

To be more secific, here is my dilemma.
I am planning to start UI test automation of an m.com site.
Option 1 that have been put forward is to use commercial tools (quite costly) that runs these test cases on the device. In addition to tool cost i also need to procure devices
Option 2 is to use open source tools like webdriver, change the user agent for browsers like firefox, chrome and safari and run the test cases on a PC. (This is quite cost effective).
I prefer option 2 but here are my doubts
1) Is the webkit rendering engine same for ios and mac?
2) Is the blink rendering engine same for PC Chrome and android Chrome?
3) Will changing the user agent, but using the same browser and running the test cases (eg: change user agent of safari in PC to that of ios, but render in safari) give me the same results as that of testing on the device?
Safari- browser in iOS and Mac uses Webkit as its layout/rendering engine
PC Chrome, Android Chrome uses Blink from April 2013 onwards
Having said that, iOS, Android browsers are compliant to standard HTML,JS, CSS syntax and standards, apart from that each browser may have their specific extensions or bleeding edge features, which may not be yet standardized.
Your testing is based on standard features, you need not worry much about the browser difference now.
Also, If you want to save headache of managing multiple browser, platform, you can try saucelabs.com (cloud based service selenium,test automation service)

IBM Worklight - Is there an embedded rendering engine? Can we change it?

I'm working on a software that includes 3D graphics. Those are massive enough, so I decided to use OpenGL to keep a quite fluent animation. I selected THREE.js graphic library (WebGL).
Reading the html through a Web browser works very well : WebGL functions are recognized. I did it on my desktop (Win32/Firefox17, please do not judge me on my configuration !) and on a Nexus 10 (Android 4.3, FF24 and FF25Beta, tried with Chrome30Beta but no joy...). But I need to access native data, like the file system, to get informations for my program. So I wrapped my code with WL, and deployed it as an app on my Nexus 10... And so disappeared the WebGL capability... :(
So I looked for a reason to that :
I found on the IBM site two different ideas : in one way, I understand that a JS engine is embedded, in another that WL uses the engine of the default Web browser of the tablet (what I understood the first time)...
Let's be precise with the different engines : On the Nexus, FFs have obviously Gecko engines, Chrome30 is a Blink (webkit-like, version 537.36). Those are the ones detected by window.navigator.useragent as I read directly in the browser, no surprise. In the Eclipse/WL preview, I got different interpreters, depending the browser I selected, FF or IE (not Safari, I don't have it installed), but not the one from my desktop (the ones used are even older than my own FF...). But, when I detect the one used in the app (after wrapping in an apk), it returns an AppleWebkit 534.30/Worklight/6.0...
Maybe I'm wrong (tell me), but if 'Worklight' is in the version of the engine, and if webkit is used even when I suppress Chrome from my tablet (the version is different, but who knows..), I wonder that, for this app, as it's configured, the engine is embedded by Cordova or WL.
If it is so, I agree it allows to read a code with a fully-compatible interpreter, regardless the browser installed on the hardware. But when a webkit engine does not please you for the functions it supports (like WebGL, very partially supported), it looks a problem for me.
Does anybody have a confirmation of how it works ? If the engine is wrapped with the app, do you know if we can choose the one to be included, or configure it (like enabling WebGL ;) ) ? Another idea ?
Thanks,
Vincent.
Worklight applications do not bundle an interpreter. The application will use what that is bundled in the OS.
In other words, the default WebView in Worklight is the one that the OS provides, in the case of Android it uses the bundled WebKit.
This is not something Worklight controls what-so-ever.
You could, maybe, somehow, bundle in your app the Firefox engine libraries and hook it all up together, but the task to do so is incredibly large and complex in size... and not supported by IBM Worklight. Also, I do not know whether Cordova supports this as well ( it is used in Worklight to interface with native functionality).
As for the useragent, the string "Worklight" is attached to it as part of support for IBM WebSphere Portal.

Is it possible to make cross browser compatible games with Dart as of right now?

What about just making it compatible with the three major browsers, IE9+, Chrome and Firefox?
I want to make games using Canvas 2D.
As far as I know, it works just fine. Unfortunately, I can't test it out right now because I don't have a Windows machine. However, there are a lot of samples showing how to do this sort of thing. See:
http://dart-lang.github.com/pop-pop-win/
https://github.com/dart-lang/pop-pop-win
https://github.com/dart-lang/dart-html5-samples/tree/master/web/speed/animations
Canvas is supported by modern browsers: http://caniuse.com/#feat=canvas

SmartCard Reader UMDF driver. Power down problems

Working on a UMDF card-reader driver which connects to a software based SmartCard simulator thus allowing any PC/SC compliant application to interface to the SmartCard simulator.
Implementation based on Fabio Ottavi's project here: http://www.codeproject.com/KB/system/BixVReader.aspx
Works well except that the Windows SmartCard Service puts the driver into power-down mode (IOCTL_SMARTCARD_POWER -> SCARD_POWER_DOWN) when it reports IOCTL_SMARTCARD_IS_PRESENT. This happens when the driver is not been currently accessed by another application. The power-down generally happends 10 to 15 seconds after the card is present and I would like to prevent it happening.
Fabio mentions an undocumented Windows7 registry entry (CardDisconnectPowerDownDelay), however, this did not seem to work and I need a solution for XP as well.
Thanks...

Resources