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. Android模拟器屏幕
- 2. ASP.NET屏幕刮贴模拟
- 3. Android模拟器屏幕填满只有实际的Android模拟器的屏幕
- 4. iPhone模拟器屏幕分辨率vs iPhone屏幕分辨率
- 5. Mac模拟器屏幕错误。屏幕和触摸不同步
- 6. 多屏幕支持 - 模拟器
- 7. 安卓模拟器屏幕颠倒
- 8. iOS模拟器中的黑色屏幕
- 9. 在Android模拟器屏幕关闭
- 10. 模拟用户键盘放大屏幕
- 11. 模拟ISQL使用I4GL执行屏幕
- 12. Android模拟器屏幕尺寸
- 13. Android模拟器屏幕比例过大
- 14. Android模拟器屏幕倾斜180°
- 15. Android模拟器 - 屏幕旋转
- 16. 屏幕抓取 - 但不能模拟javascript
- 17. Airconsole模拟器屏幕未连接
- 18. 模拟“拍照”屏幕闪光灯
- 19. 模拟器屏幕看起来不同
- 20. 白色屏幕上模拟iPhone的Xcode
- 21. 锁定屏幕的模拟android
- 22. 视图离开iPad模拟器屏幕
- 23. 黑莓模拟器屏幕刷新
- 24. 屏幕方向卡在模拟器上
- 25. iOS模拟器屏幕尺寸问题
- 26. Android模拟器显示空白屏幕
- 27. 大屏幕模拟器xcode 5
- 28. 如何模拟Android多屏幕?
- 29. 在网页上模拟设备屏幕
- 30. Iphone模拟器屏幕旋转
您需要模拟大于等于150dpi的显示(所以像素除以报告的物理尺寸),并且您需要在相关显示模式下设置“kDisplayModeValidForHiResFlag”标志。我还必须为该显示器提供有效的EDID或系统偏好设置,但会出现在Mountain Lion上,因此他们可能已经修复了该问题。 – pmdj 2014-10-26 20:05:11