3

I want to provide multi-monitor support in my application.

In the past I have had the simplistic view that multi-monitor support is simply the lack of open multi-monitor related bugs. If it seems to work on a multi-monitor setup, then it supports multi-monitors, right?

But I would like to create some clear requirements about this.

What are the basic requirements I need to adhere to, in order to satisfy most users' expectations so that they might say "yes this application supports multi-monitors"?

For example an obvious requirement is that all windows/messageboxes/tooltips etc must open on the same monitor that the application is on. And any children of those windows must open on the same monitor as their parent.

Can you think of any more? Are there any guidelines about this anywhere?

4

4 回答 4

7
  • if the application was last used in a multi-monitor setup, and started up a second time with none of the additional monitors plugged in, make your application sense this and more all boxes and working areas back into the main screen.

(Eclipse doesn't do this and it annoys the hell out of me)

于 2009-10-27T15:00:00.000 回答
3

让我非常高兴的是一个应用程序,它可以记住所有窗口的位置(无论是在主监视器还是第二个监视器上),并在我启动应用程序时以相同的布局重新显示所有内容。

于 2009-10-27T15:03:47.123 回答
1

从个人经验中需要注意的一些问题(无论如何使用 GDI 和 Direct3D9):

  • 当两个监视器具有不同的位深度,并且用户扩展窗口以覆盖两个监视器或将其从一个监视器拖到另一个监视器时......如果您的应用程序没有预料到它可能会变得丑陋。当系统可能将 8 位托盘化显示器与更高位深度的 RGB 显示器混合使用时,曾经更加令人头疼(尽管请注意,对于某些专门的应用程序,此类配置仍然存在)。

  • 如果您将在一个“D3D 设备”上创建的 Direct3D 窗口拖动到另一个显示器(全部或部分),则可能需要注意它们。根据您设置设备的方式,Windows 要么在另一台显示器上不显示任何内容,要么显示内容但具有大量 CPU 处理开销(足以杀死高帧率)。(无论如何,这在 XP 上是正确的)。

于 2009-10-27T23:03:07.493 回答
0

我一直认为这是操作系统的责任。在 Mac 上似乎是这样。唉,我在 Windows 中遇到了很多在双显示器上表现不佳的应用程序,尽管我倾向于将其归咎于视频卡。

我最大的抱怨是坚持只使用 MDI 界面的应用程序。如果您的屏幕空间有限,MDI 非常棒,但当您实际上有很多屏幕空间并且希望浮动托盘/文档彼此分开时,它会变得非常烦人。

于 2009-10-27T15:06:48.540 回答