Electron: Adicionar suporte para reconhecimento de DPI por monitor

Criado em 7 mai. 2016  ·  21Comentários  ·  Fonte: electron/electron

O elétron está atualmente ciente de DPI do sistema. Isso leva a texto borrado quando monitores com configurações de DPI diferentes são usados. Implementar o reconhecimento de DPI por monitor resolveria isso.

https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266 (v = vs.85) .aspx

bug platforwindows

Comentários muito úteis

Oi. Eu escrevi um aplicativo muito pequeno para o meu site, aqui está o repo => https://github.com/Bohooslav/bolls-electron. Então, tentei implantar o aplicativo no Microsoft Partner Center e obtive o próximo erro:

ATENÇÃO
DPIAwarenessValidation

Aviso: o teste de validação de reconhecimento de DPI detectou os seguintes avisos:
O arquivo app \ bollsbible.exe não tem PerMonitorV2 manifestado no manifesto nem chamadas em APIs de reconhecimento de DPI para ex: user32! SetProcessDpiAwarenessContext ou user32! SetThreadDpiAwarenessContext.
O aplicativo 33943CA21EBD1.BollsBible_0.1.3.0_x64__f6r55sbmr6tmj não é DPI Aware.
Impacto se não for corrigido: aplicativos que não reconhecem DPI, mas estão em execução em uma configuração de exibição de alto DPI, podem exibir dimensionamento incorreto de elementos da IU, texto cortado e imagens borradas.
Como corrigir: É recomendável que você declare seu aplicativo como compatível com DPI no manifesto do aplicativo. Caso contrário, o aplicativo deve usar chamadas de API DPI Awareness, por exemplo: APIs SetProcessDpiAwarenessContext ou SetThreadDpiAwarenessContext.

Estou usando a versão mais recente do elétron 8.0.3 e do construtor de elétrons para criar o appx que desejo implantar. É este o meu erro? Em caso afirmativo, o que devo fazer ou o problema pode ser aberto novamente? A aplicação é hilariante simples, provavelmente não é meu erro.

Todos 21 comentários

Este é https://bugs.chromium.org/p/chromium/issues/detail?id=426656 , vá até lá e marque com uma estrela

Não acho que devemos deixar esse problema aberto no Electron, é um bug do Chromium bem conhecido e basicamente não há como corrigi-lo no lado do Electron.

Isso agora está resolvido no Chromium

Reabrir?

Ele provavelmente deve ser reaberto - o Chromium mais recente agora funciona muito bem em monitores de dpi divididos.

Se o implementador precisar de ajuda ou orientação com as APIs de alto DPI mais recentes no Windows 10, sinta-se à vontade para entrar em contato e eu o colocarei em contato com a equipe.

Isso foi corrigido com o # 8406?

Não parece, estou recebendo scaleFactor: 1.25 em ambos Display s retornados de getAllDisplays() , embora apenas um deles esteja definido como 1,25.

Oi. Eu escrevi um aplicativo muito pequeno para o meu site, aqui está o repo => https://github.com/Bohooslav/bolls-electron. Então, tentei implantar o aplicativo no Microsoft Partner Center e obtive o próximo erro:

ATENÇÃO
DPIAwarenessValidation

Aviso: o teste de validação de reconhecimento de DPI detectou os seguintes avisos:
O arquivo app \ bollsbible.exe não tem PerMonitorV2 manifestado no manifesto nem chamadas em APIs de reconhecimento de DPI para ex: user32! SetProcessDpiAwarenessContext ou user32! SetThreadDpiAwarenessContext.
O aplicativo 33943CA21EBD1.BollsBible_0.1.3.0_x64__f6r55sbmr6tmj não é DPI Aware.
Impacto se não for corrigido: aplicativos que não reconhecem DPI, mas estão em execução em uma configuração de exibição de alto DPI, podem exibir dimensionamento incorreto de elementos da IU, texto cortado e imagens borradas.
Como corrigir: É recomendável que você declare seu aplicativo como compatível com DPI no manifesto do aplicativo. Caso contrário, o aplicativo deve usar chamadas de API DPI Awareness, por exemplo: APIs SetProcessDpiAwarenessContext ou SetThreadDpiAwarenessContext.

Estou usando a versão mais recente do elétron 8.0.3 e do construtor de elétrons para criar o appx que desejo implantar. É este o meu erro? Em caso afirmativo, o que devo fazer ou o problema pode ser aberto novamente? A aplicação é hilariante simples, provavelmente não é meu erro.

Eu encontrei o mesmo problema.
elétron: 6.1.7
construtor de elétrons: 22.2.0

Este é um erro emitido pelo Windows App Certification Kid, que é executado automaticamente após o envio da Microsoft Store, mas cerca de duas semanas atrás eu consegui enviar o aplicativo para revisão sem erros. Parece um erro que aconteceu recentemente.
Existe alguma modificação que pode ser feita no lado do elétron?

Provavelmente deve ser reaberto.

Acabei de ter o mesmo problema com o elétron 8.0.2 e o construtor de elétrons 22.3.2.

@kevinsawicki @zcbenz

eu também
nem PerMonitorV2 manifestado no manifesto nem chamadas em APIs de reconhecimento de DPI para ex: user32! SetProcessDpiAwarenessContext ou user32! SetThreadDpiAwarenessContext.

Eu também, mesmo erro desta semana. Ajude-nos!!

Eu havia enviado o problema para a Microsoft, mas não respondi

Eu também, mesmo problema com a validação da Microsoft Store. Elétron 8.0.1

Mesmo problema enfrentado. Aqui está a mensagem de erro exata da loja.

DPIAwarenessValidation
Aviso: o teste de validação de reconhecimento de DPI detectou os seguintes avisos:
O arquivo app \ abc.exe não tem PerMonitorV2 manifestado no manifesto nem chamadas para APIs de reconhecimento de DPI para ex: user32! SetProcessDpiAwarenessContext ou user32! SetThreadDpiAwarenessContext.
O aplicativo abc_1.0.3.0_x64__s0tds78ffjpq8 não é DPI Aware.
Impacto se não for corrigido: aplicativos que não reconhecem DPI, mas estão em execução em uma configuração de exibição de alto DPI, podem exibir dimensionamento incorreto de elementos da IU, texto cortado e imagens borradas.
Como corrigir: É recomendável que você declare seu aplicativo como compatível com DPI no manifesto do aplicativo. Caso contrário, o aplicativo deve usar chamadas de API DPI Awareness, por exemplo: APIs SetProcessDpiAwarenessContext ou SetThreadDpiAwarenessContext.
Escrevendo aplicativos de alto DPI

Diante do mesmo, Electron 4.0.0. Em nosso relatório de validação, esse problema é marcado como um aviso, não um erro. Os avisos não devem falhar na certificação em meu entendimento.

Recentemente, houve uma atualização de validação da Windows Store.

Ou há uma falha na atualização e agora ela falha incorretamente na certificação, quando não deveria. Nesse caso, precisamos informar a Microsoft e pedir uma correção.

Ou este problema agora é considerado um erro pela Windows Store e é exibido incorretamente como um aviso no relatório e estamos ferrados até que seja corrigido no Electron. Mas podemos pedir à Microsoft que retire temporariamente a restrição.

Enviei um email para [email protected]. Também enviou um twit para @MicrosoftStore. Eu sugiro que você faça o mesmo. Se alguém souber de um canal de suporte melhor, poste aqui.

Desculpe, @electron , este problema parece ser o único lugar em que podemos nos comunicar por enquanto.

Acabei de receber um emal do suporte.

O problema foi relatado e recebemos uma notificação de que a correção deve ser implantada hoje. Você poderia tentar enviar novamente e entrar em contato conosco se o teste WACK ainda falhar com o mesmo erro?

Obrigado por entrar em contato com eles @funkyOne! Tentei reenviar depois de ler seu comentário e acabei de receber uma notificação de aprovação.

@funkyOne Obrigado!
Mais uma vez, apliquei novamente e consegui liberar o aplicativo com segurança.
https://www.microsoft.com/ja-jp/p/client-for-google-todo-pro/9n82s1cc02pb?activetab=pivot : overviewtab

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

alexeykuzmin picture alexeykuzmin  ·  133Comentários

luto picture luto  ·  71Comentários

bpasero picture bpasero  ·  71Comentários

nukeop picture nukeop  ·  82Comentários

sethlu picture sethlu  ·  109Comentários