我们希望收集有关我们(例如80%WinApp)应用程序的性能数据,包括开发人员内部以及客户站点.我们的目标如下:
理想情况下,它还可以在站点范围或逐个用户的基础上进行相对配置,以控制:
我们一直在计划基本上编写自己的系统来完成大部分工作.然后,我们将看到许多不同的"持久性"模型,包括"性能数据包"的二进制格式化,XmlSerialization和已经是.NET框架一部分的跟踪日志记录功能,仅举几例.
在参与此之前,我想仔细检查一下"人群"的建议.我已经描述了我们要做的事情,基本上是我们当前的行动计划 - 但我正在寻找有关如何最好地解决手头问题的任何和所有建议.
提前致谢.
Can anyone recommend an efficient port to CSharp of any of the public AABB/triangle intersection algorithms.
I've been looking at Moller's approach, described abstractly here, and if I were to port it, I would probably start from this C++ version. This C++ library by Mike Vandelay seems like it could also be a great starting point.
...or... any other "wheel" that can take a triangle of Vector3's and tell me if it intersects with an AABB), relatively efficiently. …
我有以下课程:
public abstract class BaseClass1 {}
public class ConcreteClass1 : BaseClass1 {}
public abstract class BaseClass2 : BaseClass1 {}
public class ConcreteClass2 : BaseClass2 {}
Run Code Online (Sandbox Code Playgroud)
WCF服务公开了两种方法:
public ConcreteClass1 Method1() {...}
public ConcreteClass2 Method2() {...}
Run Code Online (Sandbox Code Playgroud)
当使用VS2012"使用"此WCF服务时,WCF客户端代码正确返回我的"共享"ConcreteClass1但由于某种原因,坚持为ConcreteClass2生成PROXY类?
我不明白为什么(即使我总是标记我想使用所有共享程序集)有时它会为我生成代理类,有时它会按我的要求执行.我不认为我曾经见过它为程序集中的某些类型生成代理类,而不是其他类型.
我完全糊涂了!
任何帮助将不胜感激...
我有一个应用程序,我正在尝试创建一个非常大的字节"立方体".一个3维数组(~1000x1000x500)保存了我感兴趣的所有值 - 但是我遇到了内存问题.虽然这是预期的,但我所获得的各种OOM消息的行为却令人困惑.第一:
Foo[,,] foo1 = new Foo[1000, 1000, 500];
因OOM错误而失败,但这不会:
Foo[,,] foo1 = new Foo[250, 1000, 500];
Foo[,,] foo2 = new Foo[250, 1000, 500];
Foo[,,] foo3 = new Foo[250, 1000, 500];
Foo[,,] foo4 = new Foo[250, 1000, 500];
这两组代码不应该消耗基本相同的内存量吗?
此外,我最初在消耗〜1.5GB时收到错误消息,但我认为通过将其切换到64位应用程序会让我在失败之前使用更多内存.
我是否遇到了堆栈空间限制?如果是这样,我怎样才能完全在堆上实例化这个结构,而不必在堆栈上存在(作为单个实体)?
在此先感谢 - 我期待任何人都可以对这种行为进行抨击.
I'm trying to find an algorithm that will mix colors, based on a % amount. I'm working on an election project, and want to be able to assign each candidate in a race a different color, and then create a "resulting" color based on how much of the vote that candidate has gotten.
This question:
Is there an algorithm for color mixing that works like mixing real colors?
is close the question I'm asking - but potentially I need to …
我的情况很奇怪。我们有一个相对较大的应用程序(约 50 万行代码),由超过 10 名不同的开发人员在过去 6 年中开发。在我们发布最新版本之前,它一直运行良好。在最新版本中,我们有多个客户抱怨它偶尔挂起,我们花了很长时间才弄清楚如何/为什么!以下是一些使调试变得困难的因素:
今天早上,我们终于弄清楚了如何通过以下方式在内部重现至少一个场景: - 在调试器之外运行该应用程序 - 更改屏幕分辨率。这会挂起应用程序。- 然后我们可以附加调试器。
但问题是(现在我们至少在一种情况下可以重现它)是我们的代码在挂起时没有运行!换句话说,挂起时只有一个线程在运行,它中断的行是 Application.Run(form); 来自program.cs。
最后一点是应用程序并未完全挂起。具体来说: - 它仍然进行屏幕绘制(例如刷新其他应用程序覆盖的屏幕部分) - 我无法单击显示的 UI 元素,但它也不会像我期望的那样对我“发出蜂鸣声”如果它完全没有响应 - 当我在附加调试器后“暂停”应用程序时,我可以在暂停时最小化/最大化它。否则,它不会响应最小化/最大化命令。- 除了不对我发出蜂鸣声外,它的行为就像屏幕外有一个我看不到的模态窗口。另外(如前所述),当我暂停应用程序时,它会在 Application.Run 行上暂停,并且线程列表中没有其他线程/代码正在运行(正如我希望查看是否有模式对话框阻塞)主窗口。
恕我直言,这种行为是最奇怪的——尤其是因为它最近才开始发生。我的下一步必须开始“减去”代码部分,直到找到罪魁祸首,但我想我应该先把问题扔在这里,看看其他人是否曾经经历过类似的事情。
预先感谢您的任何指导 - 我期待听到任何建议。
埃杰
编辑:陈述行为的另一种方式。当它“挂起”后,它的行为就好像没有问题一样,只是它没有收到来自我的鼠标和键盘的消息。换句话说,它仍然会重新绘制自身,并且可以被 VS2010 调试器暂停,但不会以任何方式响应鼠标/键盘事件。但在这里,它并没有像其他真正死掉的应用程序那样开始对我发出蜂鸣声。就像,它不会在任务管理器中显示为无响应。这只是一种奇怪的“我不再监听 I/O 了,抱歉!” 状态……奇怪!
编辑:
在我的上一次编辑中,我提到它不再接受 IO。这让我开始思考,我添加了一个 TcpListener 来看看它在“挂起”后是否仍然会响应 - 确实如此。此外,考虑到它仍然会更新屏幕这一事实,我在绘制事件中放置了一个断点,并得到了一些(更多)奇怪的行为。它命中了绘制事件中的断点,但此时不在调用堆栈的顶部。调用堆栈的顶部显示“处于睡眠状态,等待或加入”。接下来是 Paint 中的行,然后是外部代码,然后是 main。所以屏幕上突出显示的线是绿色的,而不是黄色的。此外,如果我 F10(跳过),它会确实向下移动 1 行,但 pain 方法仍然不在调用堆栈的顶部。此时,没有其他线程在运行,没有其他代码在执行,没有其他事情发生?!?!这里发生了什么?
最后一点 - 我在 TcpListener 的 Accept Socket 事件中设置了一个断点,当我连接到 TCP/IP …
就像位图(bmp)只是表示白/黑或颜色的二维数组一样 - 是否有人知道一个简单的三维位图的类似"结构"类型?换句话说,表示黑/白或颜色的三维值数组?
看起来有很多问题可以通过这种"点云"类型的结构相对容易地解决.
换句话说,在没有进入整个3d渲染世界的情况下,一些问题似乎可以通过更简单的数据结构来解决,而且通常涉及有效管理3d对象(使用OpenGL,DirectX,Axiom,GDI +等)的数学要少得多.
据我所知,这种结构在各种矢量上都不会"高效" - 但似乎可能存在一些似乎适合3d对象的"模型"的问题.
使用算法从其他3d文件类型(例如STL,Mesh,POV,BLEND等)生成这样的点云也是有帮助的.也许其中一个已经是这样的结构?(新手):)
任何建议或信息非常感谢.提前致谢.
c# ×7
.net ×2
3d ×2
graphics ×2
colors ×1
frameworks ×1
geometry ×1
memory ×1
performance ×1
vb.net ×1
wcf ×1
web-services ×1
windows-7 ×1