visual studio 2005中win form 中控件背景颜色透明问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual studio 2005中win form 中控件背景颜色透明问题相关的知识,希望对你有一定的参考价值。

参考技术A 窗体的透明是在窗体里面设置的,不是设置控件的属性。
另外,控件的背景颜色变透明,也不能让控件变透明吧

Visual Studio C/C++ 是不是支持自动软件预取?

【中文标题】Visual Studio C/C++ 是不是支持自动软件预取?【英文标题】:Does Visual Studio C/C++ support automatic software prefetching?Visual Studio C/C++ 是否支持自动软件预取? 【发布时间】:2013-03-08 23:41:23 【问题描述】:

像Intel 和IBM's xlc 这样的编译器可以自动插入数据预取指令。

我有一些代码可以帮助进行预取,但会降低可读性。也就是说,有一个自然的代码分组,如

void foo(...) // foo gets called frequently
...
char *myPtr = allocate(medium_size);
memset(myPtr,0,medium_size)  // cache misses here. medium_size is ~ 1 cache line 
                       // Miss occurs on first access by memset, but not enough
                       // data to ameliorate by any hardware prefetching 
                       // triggered by memset.  Basically foo() is called a lot

可以通过在过程中将分配进一步推高并立即发出预取指令来减轻 memset 导致的缓存未命中成本,在它和 memset 之间有足够的指令,以便有时间让数据被带入缓存。在我的例子中,计算 medium_size 的代码在过程中进一步推高时会变得有点混乱,使其可读性降低。

如果编译器可以为我重新安排代码以使预取值得(也许在 PGO 的支持下),那么我可以两全其美。

到目前为止,Visual Studio 似乎只支持内在函数,即手动放置预取指令。我错了吗?


针对问题的澄清更新:

问:编译器如何改进上述代码?答:上面的代码只是为了说明所涉及的内容。实际代码更复杂,但归结为分配和存储。读取是由 memset 在写入内存时完成的。在某些架构上,这可能不会触发缓存未命中,但在 x86 上显然会触发(根据 vTune)(由下面的 markgz 回答)。

问:仅仅使用 memset 还不够吗? memset 的内存访问模式是高度可预测的,硬件预取机制应该处理它。 答:是的,总的来说这是真的,我在解释更多上下文方面做得很差。 包含 memset 的例程 (foo) 被非常频繁地调用,并且它是 memset 的第一次内存访问触发缓存未命中。 memset 没有足够的数据通过预取来改善这种缺失,所以我需要在调用 memset 之前参与预取。

【问题讨论】:

目前还不清楚您希望编译器如何预取这段代码。它不读取任何内容。 CPU 必须先将 memset 的区域读取到缓存中,然后再将 0 写入这些缓存行,因此虽然代码没有显式读取任何内容,但 CPU 会这样做。 memset的情况下,处理器的硬件预取机制就可以正常工作,添加软件预取并没有什么好处。 (基于上面的“英特尔”参考。) 抱歉,我没有解释足够的上下文。已更新。 【参考方案1】:

是的,你可以使用

void _mm_prefetch(char*,int)

【讨论】:

以上是关于visual studio 2005中win form 中控件背景颜色透明问题的主要内容,如果未能解决你的问题,请参考以下文章

win10的机子上安装sql service 2014 ,提示让下载Visual Studio 2010 Service Pack 1.去哪里下载?

visual studio 2005 生成出来的exe无法执行??

Visual Studio c++有没有适用于win10系统的,求

如何在 Visual Studio 2008 中打开使用 Visual Studio 2005 创建的 rdl?

visual studio 2005 图像上 添加 数字

Visual Studio 2012 与 Visual Studio 2005 中的小程序慢得多