[ https://issues.apache.org/jira/browse/CB-9443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14654114#comment-14654114 ] ASF GitHub Bot commented on CB-9443: ------------------------------------ Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-plugin-camera/pull/111#discussion_r36225312 --- Diff: src/windows/CameraProxy.js --- @@ -696,21 +696,22 @@ function takePictureFromCameraWindows(successCallback, errorCallback, args) { // decide which max pixels should be supported by targetWidth or targetHeight. var maxRes = null; var UIMaxRes = WMCapture.CameraCaptureUIMaxPhotoResolution; + var totalPixels = targetWidth * targetHeight; switch (true) { - case (targetWidth >= 1280 || targetHeight >= 960) : - cameraCaptureUI.photoSettings.maxResolution = UIMaxRes.large3M; + case (totalPixels <= 320 * 240): + cameraCaptureUI.photoSettings.maxResolution = UIMaxRes.verySmallQvga; break; - case (targetWidth >= 1024 || targetHeight >= 768) : - maxRes = UIMaxRes.mediumXga; + case (totalPixels <= 640 * 480): + maxRes = UIMaxRes.smallVga; break; - case (targetWidth >= 800 || targetHeight >= 600) : + case (totalPixels <= 1024 * 768): maxRes = UIMaxRes.mediumXga; break; - case (targetWidth >= 640 || targetHeight >= 480) : - maxRes = UIMaxRes.smallVga; + case (totalPixels <= 3 * 1000 * 1000): + maxRes = UIMaxRes.large3M; break; - case (targetWidth >= 320 || targetHeight >= 240) : - maxRes = UIMaxRes.verySmallQvga; + case (totalPixels <= 5 * 1000 * 1000): + maxRes = UIMaxRes.veryLarge5M; break; default : maxRes = UIMaxRes.highestAvailable; --- End diff -- Yes, the 'faster' argument is not particularly strong in this case considering how often it will be called. My team is hiring! @purplecabbage risingj.com On Tue, Aug 4, 2015 at 8:08 AM, Rob Paveza wrote: > In src/windows/CameraProxy.js > > : > > > break; > > - case (targetWidth >= 320 || targetHeight >= 240) : > > - maxRes = UIMaxRes.verySmallQvga; > > + case (totalPixels <= 5 * 1000 * 1000): > > + maxRes = UIMaxRes.veryLarge5M; > > break; > > default : > > maxRes = UIMaxRes.highestAvailable; > > switch(true) would only be faster in the event that your cases were > constants and you were doing explicit equality checks (e.g., case 10:). > They're not, though, and because you're using greater-than comparisons, you > lose the ability of the runtime compiler to optimize using jump-tables. If > we're really concerned about perf, I'd suggest adding profiling code to > order the most-common to the least-common cases; but I think this code will > run so infrequently, it's not a perf-critical path. > > — > Reply to this email directly or view it on GitHub > > . > > Windows camera picks incorrect maxResolution > -------------------------------------------- > > Key: CB-9443 > URL: https://issues.apache.org/jira/browse/CB-9443 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Camera > Environment: Windows Desktop, Windows Phone 10 > Reporter: Murat Sutunc > Assignee: Murat Sutunc > Labels: Windows > -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org For additional commands, e-mail: issues-help@cordova.apache.org