@@ -1690,7 +1690,7 @@ var _initSys = function () {
1690
1690
sys . browserType = sys . BROWSER_TYPE_UNKNOWN ;
1691
1691
/* Determine the browser type */
1692
1692
( function ( ) {
1693
- var typeReg1 = / s o g o u | q z o n e | l i e b a o | m i c r o m e s s e n g e r | u c b r o w s e r | 3 6 0 a p h o n e | 3 6 0 b r o w s e r | b a i d u b o x a p p | b a i d u b r o w s e r | m a x t h o n | m x b r o w s e r | t r i d e n t | m i u i b r o w s e r / i;
1693
+ var typeReg1 = / m q q b r o w s e r | s o g o u | q z o n e | l i e b a o | m i c r o m e s s e n g e r | u c b r o w s e r | 3 6 0 a p h o n e | 3 6 0 b r o w s e r | b a i d u b o x a p p | b a i d u b r o w s e r | m a x t h o n | m x b r o w s e r | t r i d e n t | m i u i b r o w s e r / i;
1694
1694
var typeReg2 = / q q b r o w s e r | c h r o m e | s a f a r i | f i r e f o x | o p r | o u p e n g | o p e r a / i;
1695
1695
var browserTypes = typeReg1 . exec ( ua ) ;
1696
1696
if ( ! browserTypes ) browserTypes = typeReg2 . exec ( ua ) ;
@@ -1720,8 +1720,8 @@ var _initSys = function () {
1720
1720
sys . browserVersion = "" ;
1721
1721
/* Determine the browser version number */
1722
1722
( function ( ) {
1723
- var versionReg1 = / ( m i c r o m e s s e n g e r | m x | m a x t h o n | b a i d u | s o g o u ) ( m o b i l e ) ? ( b r o w s e r ) ? \/ ? ( [ \d . ] + ) / i;
1724
- var versionReg2 = / ( m s i e | r v : | f i r e f o x | c h r o m e | u c b r o w s e r | q q | o u p e n g | o p e r a | o p r | s a f a r i | m i u i ) ( m o b i l e ) ? ( b r o w s e r ) ? \/ ? ( [ \d . ] + ) / i;
1723
+ var versionReg1 = / ( m i c r o m e s s e n g e r | q q | m x | m a x t h o n | b a i d u | s o g o u ) ( m o b i l e ) ? ( b r o w s e r ) ? \/ ? ( [ \d . ] + ) / i;
1724
+ var versionReg2 = / ( m s i e | r v : | f i r e f o x | c h r o m e | u c b r o w s e r | o u p e n g | o p e r a | o p r | s a f a r i | m i u i ) ( m o b i l e ) ? ( b r o w s e r ) ? \/ ? ( [ \d . ] + ) / i;
1725
1725
var tmp = ua . match ( versionReg1 ) ;
1726
1726
if ( ! tmp ) tmp = ua . match ( versionReg2 ) ;
1727
1727
sys . browserVersion = tmp ? tmp [ 4 ] : "" ;
@@ -1810,6 +1810,20 @@ var _initSys = function () {
1810
1810
if ( context ) {
1811
1811
_supportWebGL = true ;
1812
1812
}
1813
+
1814
+ // Accept only Android 5+ default browser and QQ Brwoser 6.2+
1815
+ if ( _supportWebGL && sys . os === sys . OS_ANDROID ) {
1816
+ _supportWebGL = false ;
1817
+ // QQ Brwoser 6.2+
1818
+ var browserVer = parseFloat ( sys . browserVersion ) ;
1819
+ if ( sys . browserType === sys . BROWSER_TYPE_MOBILE_QQ && browserVer >= 6.2 ) {
1820
+ _supportWebGL = true ;
1821
+ }
1822
+ // Android 5+ default browser
1823
+ else if ( sys . osMainVersion && sys . osMainVersion >= 5 && sys . browserType === sys . BROWSER_TYPE_ANDROID ) {
1824
+ _supportWebGL = true ;
1825
+ }
1826
+ }
1813
1827
}
1814
1828
catch ( e ) { }
1815
1829
}
@@ -1901,9 +1915,12 @@ var _initSys = function () {
1901
1915
str += "isMobile : " + self . isMobile + "\r\n" ;
1902
1916
str += "language : " + self . language + "\r\n" ;
1903
1917
str += "browserType : " + self . browserType + "\r\n" ;
1918
+ str += "browserVersion : " + self . browserVersion + "\r\n" ;
1904
1919
str += "capabilities : " + JSON . stringify ( self . capabilities ) + "\r\n" ;
1905
1920
str += "os : " + self . os + "\r\n" ;
1921
+ str += "osVersion : " + self . osVersion + "\r\n" ;
1906
1922
str += "platform : " + self . platform + "\r\n" ;
1923
+ str += "Using " + ( cc . _renderType === cc . game . RENDER_TYPE_WEBGL ? "WEBGL" : "CANVAS" ) + " renderer." + "\r\n" ;
1907
1924
cc . log ( str ) ;
1908
1925
} ;
1909
1926
@@ -1936,39 +1953,33 @@ cc._engineLoaded = false;
1936
1953
1937
1954
function _determineRenderType ( config ) {
1938
1955
var CONFIG_KEY = cc . game . CONFIG_KEY ,
1939
- userRenderMode = parseInt ( config [ CONFIG_KEY . renderMode ] ) || 0 ,
1940
- shieldOs = [ cc . sys . OS_ANDROID ] ,
1941
- shieldBrowser = [ ] ;
1956
+ userRenderMode = parseInt ( config [ CONFIG_KEY . renderMode ] ) || 0 ;
1942
1957
1943
1958
// Adjust RenderType
1944
1959
if ( isNaN ( userRenderMode ) || userRenderMode > 2 || userRenderMode < 0 )
1945
1960
config [ CONFIG_KEY . renderMode ] = 0 ;
1946
1961
1947
1962
// Determine RenderType
1948
1963
cc . _renderType = cc . game . RENDER_TYPE_CANVAS ;
1949
- cc . _supportRender = true ;
1964
+ cc . _supportRender = false ;
1950
1965
1951
- if ( userRenderMode === 2 ||
1952
- ( userRenderMode === 0 &&
1953
- shieldOs . indexOf ( cc . sys . os ) === - 1 &&
1954
- shieldBrowser . indexOf ( cc . sys . browserType ) === - 1 ) ) {
1966
+ if ( userRenderMode === 0 ) {
1955
1967
if ( cc . sys . capabilities [ "opengl" ] ) {
1956
1968
cc . _renderType = cc . game . RENDER_TYPE_WEBGL ;
1957
1969
cc . _supportRender = true ;
1958
1970
}
1959
- else {
1960
- cc . _supportRender = false ;
1961
- }
1962
- }
1963
- if ( userRenderMode === 1
1964
- || ( userRenderMode === 0 && ! cc . _supportRender ) ) {
1965
- if ( cc . sys . capabilities [ "canvas" ] ) {
1971
+ else if ( cc . sys . capabilities [ "canvas" ] ) {
1966
1972
cc . _renderType = cc . game . RENDER_TYPE_CANVAS ;
1967
1973
cc . _supportRender = true ;
1968
1974
}
1969
- else {
1970
- cc . _supportRender = false ;
1971
- }
1975
+ }
1976
+ else if ( userRenderMode === 1 && cc . sys . capabilities [ "canvas" ] ) {
1977
+ cc . _renderType = cc . game . RENDER_TYPE_CANVAS ;
1978
+ cc . _supportRender = true ;
1979
+ }
1980
+ else if ( userRenderMode === 2 && cc . sys . capabilities [ "opengl" ] ) {
1981
+ cc . _renderType = cc . game . RENDER_TYPE_WEBGL ;
1982
+ cc . _supportRender = true ;
1972
1983
}
1973
1984
}
1974
1985
0 commit comments