Comments (23)
Hi @nextstopsun, thanks for bringing this up. You can try the following:
- Edit
/usr/local/opt/qgis3-dev/QGIS.app/Contents/Info.plist
- Change
NSHighResolutionCapable
key toTrue
, then saveInfo.plist
- Run
touch /usr/local/opt/qgis3-dev/QGIS.app
to ensure launch services is notified of plist change
Looks like the qgis3-dev
formula needs updated here, since it sets that key to False.
Note: I don't see any major changes here when I do that (this is a good thing). Also, the low resolution icon is due to a missing high-res one for Mac, not due to incompatible NSHighResolutionCapable
settings.
from homebrew-qgisdev.
If you change NSHighResolutionCapable
as noted above, the Finder's Info dialog for the QGIS.app will now display the "Open in Low Resolution" checkbox, which should be unchecked by default.
from homebrew-qgisdev.
@dakcarto Thanks. I'll try that. I'm mostly interested in getting map canvas display in HiDPI.
BTW, are missing menu icons related to this one, or it's a separate issue?
from homebrew-qgisdev.
BTW, are missing menu icons related to this one, or it's a separate issue?
Separate issue, I think, possibly related to packaging and whether they are SVG or PNG. Haven't looked into it yet. Also here for me, the Options menu is replaced by the one from Processing. I'll work on fixing that upstream ASAP.
from homebrew-qgisdev.
According to window elements, qgis started in HiDPI mode, however map canvas seems to be in low res still. @dakcarto Are you getting this also?
from homebrew-qgisdev.
According to window elements, qgis started in HiDPI mode, however map canvas seems to be in low res still. @dakcarto Are you getting this also?
Sorry, don't have any more time right now to test. It may be that something in code has to be changed to fully enable HiDPI.
from homebrew-qgisdev.
Can you try to insert the following code in src/gui/qgsmapcanvas.cpp
at line 585 (after mSettings.setExpressionContext( expressionContext );
mSettings.setOutputDpi( logicalDpiX() );
from homebrew-qgisdev.
If looking to edit QGIS source during a build of qgis3-dev
, one will need to:
- Edit the formula and put a
raise
statement just prior to the run ofcmake ...
- Build with
brew install qgis3-dev -dv
(or at least-d
) - When
raise
is thrown, drop into a debug shell, edit the file, thenexit
debug shell - Choose to 'ignore' thrown
raise
, which will continue building
This is because any changes to ~/Library/Caches/Homebrew/qgis3-dev--git/*
will probably be reset prior to building QGIS inside the formula.
...
==> Checking out branch master
git checkout -f master --
Already on 'master'
Your branch is behind 'origin/master' by 119 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
git reset --hard origin/master <-- !!!
...
Alternatively, @nextstopsun, you could use the dependencies to do your own build.
from homebrew-qgisdev.
@dakcarto I have all the deps installed, I think I'm going to setup QT Creator build. On a second thought, what if I just clone master and edit the formula to build from a local repo?
from homebrew-qgisdev.
On a second thought, what if I just clone master and edit the formula to build from a local repo?
@nextstopsun that should work, though I recommend adding a revision 1
just under version "2.99"
and then use brew upgrade -dv qgis3-dev
, so you do not loose your current build. Later, you can just brew uninstall qgis3-dev
to clear the most recent, edited build.
Qt Creator setup is better and will be added soon to the tutorial.
from homebrew-qgisdev.
If anyone can test this patch, that would be much appreciated.
from homebrew-qgisdev.
@m-kuhn No changes for me: UI chrome shows up in high res when NSHighResolutionCapable
is set, but the map canvas is still rendering pixelated.
from homebrew-qgisdev.
@brncsk any chance you could find the value reported by logicalDpiX()
- either with a debugger or temporarily add
qWarning() << "Logical DPI X " << logicalDpiX();
from homebrew-qgisdev.
from homebrew-qgisdev.
logicalDpiX()
reports 72
.
physicalDpiX()
reports 111
, though, which yields a somewhat better, albeit still suboptimal result.
I also tried multiplying that by devicePixelRatio() == 2
but it still feels a bit rough.
from homebrew-qgisdev.
In fact, increasing the argument of setOutputDpi()
only seems to increase outline width (given in millimeters) and label font size (given in pts) but does not help with the rendering problem itself.
Screenshots at different setOutputDpi()
resolutions:
222 (physicalDpiX() * devicePixelRatio()
):
444 (physicalDpiX() * devicePixelRatio() * 2
):
from homebrew-qgisdev.
In fact, increasing the argument of setOutputDpi() only seems to increase outline width
Correct, that's exactly what needs to be done in the rendering engine - but each pixel of the screen should be used (I guess now there are 4 equal pixels sitting next to each other on your map).
There's an issue in Qt with QGraphicsView and HiDpi: https://bugreports.qt.io/browse/QTBUG-26795 but it looks like caching is not explicitly enabled and defaults to disabled and I don't think we use the GL version, so this shouldn't affect us.
from homebrew-qgisdev.
Hi. Can someone retest the rendering issue with latest qgis3-dev
, which now fully builds against Qt 5.8.0? See known issues in #22.
Fixed with Qt 5.8.0: SVG menu icons now show properly (sweet!).
Also, I have updated the dock and app switcher icon to 1024x1024.
from homebrew-qgisdev.
It does not seem to fix the rendering issue, output is still pixellated. The 1024x1024 icon is a nice touch, though!
from homebrew-qgisdev.
I just want to report, that problem with pixelated output on canvas is still here. In addition plugin description (in plugin manager window) is oversized.
from homebrew-qgisdev.
Hi. I am closing this as it is an issue to be discussed on the main QGIS issue tracker:
https://issues.qgis.org
I believe I have done what can be via the Homebrew formula and something more needs addressed in the core codebase.
from homebrew-qgisdev.
This is the only current issue of similar topic I could find:
https://issues.qgis.org/issues/15357
from homebrew-qgisdev.
I also created a saved query on the tracker for "Subjects with dpi":
https://issues.qgis.org/projects/qgis/issues?query_id=145
from homebrew-qgisdev.
Related Issues (20)
- Can't compile qgis3-dev HOT 4
- Support for tabs in main window HOT 2
- Launching QGIS 3 dev for the first time error HOT 2
- cannot build on mac high sierra (bison illegal instruction) HOT 1
- cannot locate libqgis_core and libqgis_gui HOT 4
- Cmake errors installing on mac os 10.13.1
- QGIS3 Install Failed on Matplotlib Dependency HOT 17
- Error with python in cmake
- Character range error when attempting to install QGIS Dev via Homebrew HOT 4
- Import error-- image not found
- Error: homebrew/science was deprecated HOT 1
- Use 'depends_on "python3"' instead. HOT 1
- Error: homebrew/science was deprecated HOT 4
- ImportError: No module named site HOT 19
- Homebrew making python3 the default python HOT 38
- QGIS 3 is built without 3D support HOT 2
- Can't build QGIS3 Dev HOT 21
- cannot tap qgis/qgisdev HOT 2
- Build fails with Python-3.7 pip 10 due to ninja? HOT 1
- can't install qgis dev
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homebrew-qgisdev.