Como o cursor do mouse é implementado no sistema X.org X Windows? Especificamente, como devemos entender esses casos de erro:
1) Lembro-me às vezes de ver a GUI inteira ficar lenta e gaguejar ou parar. Mas o cursor do mouse ainda respondeu muito rapidamente. Por exemplo, isso pode acontecer se você usar muita memória e iniciar o "thrashing". (O sistema está continuamente trocando para o disco e voltando).
2) Outras vezes, os drivers gráficos do Linux costumavam travar. A tela pode estar congelada, corrompida ou algo intermediário. Mas às vezes o cursor do mouse ainda respondia sem problemas, em cima da tela congelada ou corrompida.
Também há dicas de alguns dos problemas (e soluções alternativas) que podem ocorrer com a corrupção do cursor do mouse:
i) Por que entrar no modo de texto e depois voltar ao modo gráfico corrige o desaparecimento do mouse?
ii) Gráficos escurecem, mas cursor do mouse não escurece
Há pelo menos dois detalhes separados aqui:
1. Cursor de hardware
O primeiro detalhe é mais conhecido. Você pode encontrá-lo mencionado na documentação: a
HWCursor
opção no Xorg.Seus gráficos provavelmente usam um cursor de hardware. À medida que o hardware varre os pixels para a tela, ele sobrepõe o cursor do mouse sobre o framebuffer principal.
1.1 Cursor de software
Observe que, embora os cursores de hardware sejam muito úteis, também existem técnicas para fazer com que os cursores de software funcionem melhor.
2. As atualizações do cursor são deliberadamente priorizadas
Para ser justo, o cursor é relativamente simples. Além disso, está em uso constante. Isso significa que é improvável que a memória específica do cursor seja trocada quando você começa a ficar sem memória. Mas há também outro detalhe: