Q
模擬屏幕
2
A
回答
4
實現IOFramebuffer,就像EWFrameBuffer等一樣,是創建圖形驅動程序的方法。各種版本都有一些破損,但有可能讓事情很好地工作,包括視網膜分辨率,以及一些試驗和錯誤。硬件加速是分開的:
如果您的驅動程序提供了與您的kext一起實現的CFPlugin捆綁包,舊版本的OSX使用IOGraphicsAcceleratorInterface
進行二維加速。
我還沒有想到它在優勝美地;它似乎沒有使用2D加速。更糟糕的是,優勝美地的軟件渲染性能也比以前的版本差很多。我鼓勵任何受此影響的人(無頭Mac mini,VM中的OS X,虛擬顯示器等)向Apple提交雷達。我已經這樣做了,但是抱怨的人越多,他們就越有可能爲此做點什麼。
3D加速(OpenGL)API在所有版本上都是私有的。除非您計算英特爾/ AMD/nVidia GPU驅動程序,這似乎是由Apple與相關公司合作開發的,否則我不知道它們的第三方實施方式,開源或其他方式。
UPDATE:原來,優勝美地的WindowServer限制幀速率約8FPS 除非您IOFramebuffer的驅動程序正確實現垂直空白中斷。因此,如果您的驅動程序尚未執行此操作,請執行方法registerForInterruptType()
,unregisterInterrupt
和setInterruptState
與中斷類型kIOFBVBLInterruptType
一起使用,並在每次完成發送完整映像時生成回調。這些細節將取決於您的設備(或缺乏)。這並不能解決硬件加速和渲染故障問題,但它至少可以提高性能(以更高的CPU負載爲代價)。
相關問題
- 1. ASP.NET屏幕刮貼模擬
- 2. Android模擬器屏幕
- 3. Android模擬器屏幕填滿只有實際的Android模擬器的屏幕
- 4. Mac模擬器屏幕錯誤。屏幕和觸摸不同步
- 5. iPad模擬器的屏幕分辨率
- 6. 安卓模擬器屏幕顛倒
- 7. Android模擬器屏幕傾斜180°
- 8. Android模擬器窗口走出屏幕
- 9. 模擬ISQL使用I4GL執行屏幕
- 10. iphone模擬器顯示空白屏幕
- 11. 屏幕抓取 - 但不能模擬javascript
- 12. Android模擬器屏幕凍結
- 13. Android模擬器屏幕尺寸
- 14. 黑莓模擬器屏幕刷新
- 15. Iphone模擬器屏幕旋轉
- 16. iOS模擬器中的黑色屏幕
- 17. 屏幕方向卡在模擬器上
- 18. 多屏幕支持 - 模擬器
- 19. Android模擬器 - 屏幕旋轉
- 20. 視圖離開iPad模擬器屏幕
- 21. iOs模擬器上的白色屏幕
- 22. 白色屏幕上模擬iPhone的Xcode
- 23. iOS模擬器屏幕尺寸
- 24. Airconsole模擬器屏幕未連接
- 25. 捕獲模擬器屏幕(android):
- 26. Android模擬器屏幕比例過大
- 27. 在Android模擬器屏幕關閉
- 28. window.delch()虛擬屏幕
- 29. Libgdx擬合屏幕
- 30. 模擬HTC Desire屏幕的Android模擬器
您需要模擬大於等於150dpi的顯示(所以像素除以報告的物理尺寸),並且您需要在相關顯示模式下設置「kDisplayModeValidForHiResFlag」標誌。我還必須爲該顯示器提供有效的EDID或系統偏好設置,但會出現在Mountain Lion上,因此他們可能已經修復了該問題。 – pmdj 2014-10-26 20:05:11