-
Notifications
You must be signed in to change notification settings - Fork 222
Provide API to detect integrated graphics #3324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
4b8519d
first cut
markschlosseratbentley fb4bc69
comment.
markschlosseratbentley b240f65
Merge branch 'master' into report-integrated-graphics
markschlosseratbentley 253b5cb
NextVersion
markschlosseratbentley 27497d1
comment
markschlosseratbentley 21f5d74
rush change
markschlosseratbentley 41a844f
rush extract-api
markschlosseratbentley e22813e
Clean up changelog; add sample code.
pmconne 04dfab3
beta -> public
markschlosseratbentley 405c9b2
Merge branch 'report-integrated-graphics' of https://github.com/iTwin…
markschlosseratbentley 7af7aad
fix doc link
pmconne 1104c79
Add testing. Also tweak integrated detection logic - unmasked vendor …
markschlosseratbentley aaa1f14
Merge branch 'report-integrated-graphics' of https://github.com/iTwin…
markschlosseratbentley 338fad9
simplify conditional to test integrated.
markschlosseratbentley File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
common/changes/@itwin/webgl-compatibility/report-integrated-graphics_2022-03-14-12-41.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"changes": [ | ||
{ | ||
"packageName": "@itwin/webgl-compatibility", | ||
"comment": "A `usingIntegratedGraphics` property has been added to WebGLRenderCompatibilityInfo. If true, there is a likelihood that integrated graphics are being used.", | ||
"type": "none" | ||
} | ||
], | ||
"packageName": "@itwin/webgl-compatibility" | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,18 @@ | ||
--- | ||
publish: false | ||
--- | ||
# NextVersion | ||
# NextVersion | ||
|
||
## @itwin/webgl-compatibility changes | ||
|
||
### Detecting integrated graphics | ||
|
||
Many computers - especially laptops - contain two graphics processing units: a low-powered "integrated" GPU such as those manufactured by Intel, and a more powerful "discrete" GPU typically manufactured by NVidia or AMD. Operating systems and web browsers often default to using the integrated GPU to reduce power consumption, but this can produce poor performance in graphics-heavy applications like those built with iTwin.js. We recommend that users adjust their settings to use the discrete GPU if one is available. | ||
|
||
iTwin.js applications can now check [WebGLRenderCompatibilityInfo.usingIntegratedGraphics]($webgl-compatibility) to see if the user might experience degraded performance due to the use of integrated graphics. Because WebGL does not provide access to information about specific graphics hardware, this property is only a heuristic. But it will accurately identify integrated Intel chips manufactured within the past 10 years or so, and allow the application to suggest that the user verify whether a discrete GPU is available to use instead. As a simple example: | ||
|
||
```ts | ||
const compatibility = IModelApp.queryRenderCompatibility(); | ||
if (compatibility.usingIntegratedGraphics) | ||
alert("Integrated graphics are in use. If a discrete GPU is available, consider switching your device or browser to use it."); | ||
``` |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.