问题列表 - 第44087页

F#图像处理性能问题

我目前正在尝试提高F#程序的性能,使其与C#等效程序一样快.该程序确实将滤镜数组应用于像素缓冲区.始终使用指针访问内存.

以下是应用于图像的每个像素的C#代码:

unsafe private static byte getPixelValue(byte* buffer, double* filter, int filterLength, double filterSum)
{
    double sum = 0.0;
    for (int i = 0; i < filterLength; ++i)
    {
        sum += (*buffer) * (*filter);
        ++buffer;
        ++filter;
    }

    sum = sum / filterSum;

    if (sum > 255) return 255;
    if (sum < 0) return 0;
    return (byte) sum;
}
Run Code Online (Sandbox Code Playgroud)

F#代码看起来像这样,占用C#程序的三倍:

let getPixelValue (buffer:nativeptr<byte>) (filterData:nativeptr<float>) filterLength filterSum : byte =

    let rec accumulatePixel (acc:float) (buffer:nativeptr<byte>) (filter:nativeptr<float>) i = 
        if i > 0 …
Run Code Online (Sandbox Code Playgroud)

performance f# image-processing

9
推荐指数
1
解决办法
1591
查看次数

有没有办法让drawRect现在正常工作?

原来的问题...............................................

如果您是drawRect的高级用户,您将知道当然"drawRect"在"所有处理完成"之前不会实际运行.

setNeedsDisplay将视图标记为无效和操作系统,并且基本上等待所有处理完成.在您想要拥有的常见情况下,这可能会令人愤怒:

  • 视图控制器1
  • 开始一些功能2
  • 逐渐增加3
    • 创造了一个越来越复杂的艺术品和4
    • 在每一步,你setNeedsDisplay(错!)5
  • 直到所有工作完成6

当然,当你执行上面的1-6时,所有发生的事情是drawRect 在步骤6之后运行一次.

您的目标是在第5点刷新视图.怎么办?


解决原始问题............................................. .

总之,您可以(A)背景大画,并调用前景进行UI更新或(B)可争议地有四种"即时"方法建议不使用后台进程.为了起作用的结果,运行演示程序.它有所有五种方法的#defines.


Tom Swift介绍的真正令人震惊的替代解决方案..................

汤姆斯威夫特解释了非常简单地操纵运行循环的惊人想法.以下是触发运行循环的方法:

[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate date]];

这是一个真正令人惊叹的工程.当然,在操作运行循环时应​​该非常小心,并且许多人指出这种方法严格适用于专家.


引起的奇怪问题............................................. .

尽管许多方法都有效,但实际上并没有"工作",因为在演示中你会看到一个奇怪的渐进式减速神器.

滚动到我在下面粘贴的"答案",显示控制台输出 - 您可以看到它逐渐减慢的速度.

这是新的SO问题:
运行循环/ drawRect中的神秘"渐进式减速"问题

这是演示应用程序的V2 ...
http://www.fileswap.com/dl/p8lU3gAi/stepwiseDrawingV2.zip.html

你会看到它测试所有五种方法,

#ifdef TOMSWIFTMETHOD
 [self setNeedsDisplay];
 [[NSRunLoop currentRunLoop]
      runMode:NSDefaultRunLoopMode beforeDate:[NSDate date]];
#endif
#ifdef HOTPAW
 [self setNeedsDisplay];
 [CATransaction flush];
#endif
#ifdef LLOYDMETHOD
 [CATransaction begin];
 [self setNeedsDisplay];
 [CATransaction commit];
#endif
#ifdef DDLONG
 [self setNeedsDisplay];
 [[self layer] displayIfNeeded];
#endif …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa quartz-graphics runloop ios

44
推荐指数
4
解决办法
2万
查看次数

有没有办法在使用JavaScript的网页中打印JSON?

在我看来,漂亮的打印JSON是一个简单的任务,JavaScript应该能够处理它.有没有人编写(或运行)JavaScript函数来执行此操作?

javascript json pretty-print

12
推荐指数
3
解决办法
2万
查看次数

将字节数组转换为IPAddress

.Net IPAddress类GetAddressBytes方法可用于将IPAddress转换为字节数组.

我的问题是我有这些字节数组,如何将它们转换回IPAddress对象,或IP字符串?(对于IPv4和IPv6都有一个解决方案很重要).

.net ip-address

1
推荐指数
1
解决办法
7313
查看次数

如何匹配重复模式?

我想匹配:

some.name.separated.by.dots
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么做.

我可以像这样匹配一个部分

 \w+\.
Run Code Online (Sandbox Code Playgroud)

怎么说"重复那个"

java regex

19
推荐指数
1
解决办法
5万
查看次数

防止某些字段被序列化

在Play框架中,我有一些模型,其中的字段是对其他模型的对象引用.当我使用renderJSON时,我不希望包含这些对象引用.目前,根据我的需要,我创建了一个单独的视图模型类,其中包含我想要的字段,并在控制器中根据需要创建此视图类的实例.理想情况下,我希望能够使用模型类本身,而无需编写视图类.

有没有办法注释一个字段,以便在使用renderJSON时不会序列化?

serialization json playframework

5
推荐指数
1
解决办法
3186
查看次数

如何测试负零?

最初我认为Math.Sign这是正确的方法,但在运行测试之后,似乎它对待-0.0+0.0相同.

.net c# floating-point

39
推荐指数
5
解决办法
5538
查看次数

如何使用UISplitViewController作为模态视图控制器?

我试图在我的iPad应用程序中显示一个UISplitViewController,将其显示为模态视图控制器.我设法显示它,但由于某种原因,模态视图左侧有一个间隙,状态栏的大小也会在方向更改时保留.

替代文字

有人知道为什么会这样吗?或者如果这是可能的话?也许我只是在挖自己一个巨大的洞.

ipad uisplitviewcontroller modalviewcontroller ios

7
推荐指数
2
解决办法
9509
查看次数

如何从Windows上的源tarball安装R包?

R 的预测包已更新至2.12版,但目前CRAN上只有2.11的Windows二进制文件.

如何从Windows上的源代码安装R软件包?

r

21
推荐指数
5
解决办法
5万
查看次数

输出格式化文本(包括源代码)作为LaTeX,PDF和HTML

我正在使用代码清单编辑乳胶中的许多文档,目前输出为pdf.

由于我在这些文档的团队中工作,我经常需要手动将组成员所做的更改集成到latex源中.

大多数小组成员都不知道乳胶,所以我想有办法让他们以类似于降价的方式进行文件格式化.

由于乳胶文档由数字组成,有引用并使用lslisting包,我想知道是否可以将这些特定区域映射到简单的markdown样式语法.

工作流程示例:

  • 在Markdown(或类似)中编辑文件
    • 标签部分
    • 标记代码区域
    • 标签数字
    • 标签引用
  • 转换为乳胶
    • 自动转换标签
  • 产量
    • PDF格式
    • HTML

它能以某种方式实现这样的工作流程吗?也许我的特定工作流程已有解决方案?

html pdf markdown latex

7
推荐指数
1
解决办法
633
查看次数