【问题标题】:How to manage picture previews correctly如何正确管理图片预览
【发布时间】:2012-02-07 11:15:59
【问题描述】:

我正在开发一个能够显示文件预览的 C# 软件。基本上,左侧有一棵树显示磁盘文件系统条目,右侧有一个面板将显示在树中选择的文件的预览,在一个包含停靠PictureBox 的可调整大小的面板中。最初我只显示图像文件的预览。

这个软件是为游戏开发者设计的,所以我需要支持所有的图像格式,为此我将使用很棒的ImageMagick库。关键是一些图像文件可能很大,非常大,所以我有几个问题,关于性能和内存消耗。

  1. 我需要线程加载图片吗?总是,还是仅当图片很大时?
  2. 如果我直接在Picturebox 中加载图片是否正确,或者我应该计算一个较小尺寸的图像(如缩略图或类似的东西),将其保存到磁盘,然后显示它?
  3. 有人知道我在哪里可以下载大图片文件来测试我的预览是否包含非常大的文件。

【问题讨论】:

  • 奇数。游戏开发中的第二条规则必须是:“不要使用大图像,它们会破坏帧率”。从您的目标客户那里获取样本图片,这是非常假设的最佳方式。

标签: c# .net performance image picturebox


【解决方案1】:
  1. Imo 总是对这样的工作进行线程化,试图确定 什么 是大的没有意义;对于正在谈论的图像,我认为大多数情况下就足够了,在错误的条件下(计算机正在将资源花费在其他进程上,而不仅仅是您的进程上)它可能会导致 UI 线程出现可感知的暂停。

    李>
  2. 如果不了解更多信息,我只会在执行基本工作时测试您的实现并做出判断。还有用户所需的质量和桌面分辨率的问题 - 所以也许这应该以某种方式配置。

  3. Imo 没有比PolyCount 更好的地方了,具体看看这些论坛: http://www.polycount.com/forum/forumdisplay.php?f=42 & http://www.polycount.com/forum/forumdisplay.php?f=60

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2016-04-16
    • 2021-07-06
    相关资源
    最近更新 更多