对于在Python中检测64位操作系统感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解Windows,并且为您提供关于64位操作系统与32位操作系统数据类型的字节数、c#–有没有理由GDI在
对于在Python中检测64位操作系统感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解Windows,并且为您提供关于64位操作系统与32位操作系统数据类型的字节数、c# – 有没有理由GDI在64位操作系统上会慢一些(或者它可能与Windows 7相关)、MSI安装程序,64位操作系统,写入 windows system32 inetsrv文件夹、MySQL学习4:Windows 64位操作系统下使用MySQL的宝贵知识。
本文目录一览:- 在Python中检测64位操作系统(Windows)
- 64位操作系统与32位操作系统数据类型的字节数
- c# – 有没有理由GDI在64位操作系统上会慢一些(或者它可能与Windows 7相关)
- MSI安装程序,64位操作系统,写入 windows system32 inetsrv文件夹
- MySQL学习4:Windows 64位操作系统下使用MySQL
在Python中检测64位操作系统(Windows)
有谁知道我会怎么做才能检测到Windows在Python下的版本。我需要知道这是为Program Files使用正确的文件夹的一种方式。
非常感谢
64位操作系统与32位操作系统数据类型的字节数
c# – 有没有理由GDI在64位操作系统上会慢一些(或者它可能与Windows 7相关)
我正在开发一个应用程序,它应该以相同的方式从XP开始在每个Windows平台上运行.通过.NET框架,这在很大程度上非常容易.该应用程序可以在各种触摸表面上运行.该应用程序的目标是.Net 3.0,但如果由于某种原因我应该转移到.Net 3.5,我可以这样做.我无法使用4.0.
该应用程序通过System.Drawing命名空间大量使用GDI.现在,我知道GDI要么根本不是硬件加速,要么只是在极少数的显卡中加速,所以我希望有一些性能问题.但是,这个问题很明显,使应用程序的可用性大大降低.如果可以通过简单的修复避免使用DirectX或OpenGL,我宁愿不重写整个应用程序.
问题
我们最近在其中一个触摸表上安装了Windows 7 64位.这是第一次在Windows 7 64位计算机上运行该应用程序.无论如何,一次在设备上使用多个手指的任何绘图(特别是DrawLine)会导致可笑的滞后量.这种滞后在32位Windows XP或32位Windows 7上并不明显,所以我认为它可能特定于64位Windows 7(我没有要测试的64位XP机器).
由于其中一个.dll文件只有32位库可用于编译,因此该应用程序也被强制作为32位应用程序运行.我在某处读到,在64位系统上强制进程进入32位模式可能会导致性能问题,但是当我升级SDK时我们使用并制作了64位特定的.dll和应用程序,问题仍然存在.
我读到on this other StackOverflow thread,与GDI相关的32位和64位应用程序之间应该没有区别.这似乎不是这种情况.
那么它归结为:你们中的任何人都知道为什么Windows 32位和Windows 64位之间可能会有如此巨大的性能差异吗?如果我找不到解决方案,我将不得不花一点时间让一切都使用硬件加速绘图.如果可能的话,我想避免这种情况.
感谢大家!
编辑:请求的代码段
public delegate void drawLineDelegate(Color color,float width,int x1,int y1,int x2,int y2); public void drawLine(Color color,int y2) { if (Invokerequired) { Invoke(new drawLineDelegate(drawLine),new object[] { color,width,x1,y1,x2,y2 }); } else { try { lock (drawLock) { pen.Width = width; pen.Color = color; scaledPen.Width = width * this.Width / Canvas.Width; scaledPen.Color = color; Point p1 = scalePointToScreen(new Point(x1,y1)); Point p2 = scalePointToScreen(new Point(x2,y2)); graphics.DrawLine(pen,y2); scaledGraphics.DrawLine(scaledPen,p1.X,p1.Y,p2.X,p2.Y); this.Invalidate(new Rectangle(Math.Min(p1.X,p2.X) - (int)scaledPen.Width,Math.Min(p1.Y,p2.Y) - (int)scaledPen.Width,Math.Abs(p2.X - p1.X) + 2 * (int)scaledPen.Width,Math.Abs(p2.Y - p1.Y) + 2 * (int)scaledPen.Width)); } } catch (Exception ex) { if (Scribbler.Properties.Settings.Default.LogLevel >= 2) { Scribbler.ScribblerForm.WriteLogMessage(ex.ToString()); } } }
编辑:进一步研究
与我们在机器上使用的NVidia卡相比,我做了更多的互联网搜索.这导致我在NVidia开发者论坛上发表了几篇有关同一问题的人的帖子.常见的答案是GDI在Windows 7上被弃用,而较新的NVidia图形驱动程序(从182.5开始)遭受GDI性能问题.解决方案是更新到Direct3D或使用旧驱动程序.有谁知道这是否是最好的行动方案?
解决方法
除非你完全知道自己在做什么,否则不应该从多个线程中绘制.操作系统中有太多关于多线程图形使用的问题.
因为你有一个Invoke,这是一个非常缓慢的过程.你不想一直调用.您永远不应该从后台线程调用此方法.看起来你的锁似乎并不是真的需要,因为你的调用会阻止除消息泵线程以外的任何线程访问.
我认为你将从重新设计你的绘画工作流程中受益匪浅,以确保它被调用一次,并且只能从主消息泵线程中调用.
我也有点困惑为什么你的绘图代码中的区域无效……这可能只是创建一个无限的绘制循环,这也可能是你的问题的一部分.
MSI安装程序,64位操作系统,写入 windows system32 inetsrv文件夹
在Windows Server 2008 64位上,我需要一个.msi安装程序文件将一些文件写入 windows system32 inetsrv文件夹。 (这些文件是一些XML Schemavalidation文件,C#XmlReaderSettings.Schema.Add()希望在该文件夹中)。
安装程序运行时,文件最终在 windows SysWOW64 inetsrv文件夹中,而不是它们需要的位置。
我试图让安装程序写入 windows Sysnative文件夹,然后安装程序创build了一个具有确切名称的文件夹,我没想到这是可能的。 看到这个页面有关抑制SysWOW64redirect的一个很好的讨论。
我应该如何让.msi将我的文件写入Windows 2008 64位的 windows system32 inetsrv文件夹中?
产生一个独立的孩子
在Windows任务pipe理器中更改进程优先级是否会导致问题?
如何判断Chef客户端是否安装在Linux上?
强制内存分配在64位Linux上从更高地址(> 4GB)分配
在Linux中的进程之间传输套接字
如何监控使用java的窗口进程?
Python:调用process.terminate()不会杀死它
在主机中,在Docker容器内运行的进程的PID是什么?
如何在Windows中保留进程ID
在进程之间传递消息
以下是您可以使用的系统文件夹属性 。 我知道这是反直觉,但你有没有尝试System64Folder ? 阅读评论。
如果这不起作用,请尝试将System32添加到WindowsFolder的末尾。
编辑1:尝试设置组件元素上的Win64属性 ,看看重定向行为是否改变。
我试图在wxs文件中使用Sysnative,但是我得到了相同的结果:在Windows下创建一个Sysnative文件夹,而不是使用System32。 所以我在一个vbscript CA中使用了Sysnative:找到了Windows文件夹(&H24&)并追加了 Sysnative。 这是有效的,但是在卸载期间需要第二个CA来删除文件。
我通过将文件写入 windows而不是 windows system32来解决我的问题。 事实证明,C#XmlReaderSettings.Schema.Add()将在 windows目录下使用完全限定的路径。 如果提供的路径不完全合格,它只是默认为system32文件夹。
这不是真正的问题的答案,但它是我的迫切需要的解决办法。
MySQL学习4:Windows 64位操作系统下使用MySQL
以下所有的步骤都是使用命令行方式完成操作MySQL服务的。 一启动/关闭MySQL (1)启动MySQL服务 net start
以下所有的步骤都是使用命令行方式完成操作mysql服务的。
一启动/关闭MySQL
(1)启动MySQL服务
net start mysql
(2)停止MySQL服务
net stop mysql
二登录/退出MySQL
首先我们先来看看一些重要的mysql参数,下面表中列出了一些重要的mysql参数:
(1)查看版本号
输入mysql -V或mysql --version,注意这里的-V是大写。
(2)登录MySQL
mysql后面要加参数才行。格式是:mysql -u root (用户) -p -P 端口号 -h mysql主机名\ip(本地机回送地址)。如
输入:mysql -u root -p -P 3306 -h 127.0.0.1,回车后输入密码登录;
如果是命令行是mysql所在的本机,而且用默认的端口为3306,直接输入:mysql -u root -p,然后再输入密码。
(3)MySQL退出
输入下面的任何一种都有可以退出MySQL服务。
mysql> exit;mysql> quit;
mysql> \q(注意这里是反斜线);
在这里我三个全部尝试了,都可以退出MySQL服务,下面的截图是输入的:exit;
三修改MySQL提示符
先来看看我们经常使用的提示符:
修改之前,先来看看默认MySQL提示符:
(1)连接客户端时通过参数指定
格式为:mysql -u root -p --prompt 提示符,例如我们输入:mysql -u root -p --prompt \h
(2)连接上客户端后,通过prompt命令修改
格式为:mysql>prompt 提示符,例如我们输入:mysql>prompt \u,然后再次输入:prompt \u@\h \d>
我们先来使用命令进入一个数据库看看结果,输入:USE test;
四MySQL常用命令
(1)显示当前服务器版本
SELECT VERSION();
(2)显示当前日期时间
SELECT NOW();(3)显示当前用户
SELECT USER();
五MySQL语句规范
(1)关键字与函数名称全部大写(即使写成小写也是可以,但是为了区分,推荐关键字和函数名全部大写)。
(2)数据库名称、表名称、字段名称全部小写。
(3)SQL语句必须以分号结尾。
我们今天的关于在Python中检测64位操作系统和Windows的分享已经告一段落,感谢您的关注,如果您想了解更多关于64位操作系统与32位操作系统数据类型的字节数、c# – 有没有理由GDI在64位操作系统上会慢一些(或者它可能与Windows 7相关)、MSI安装程序,64位操作系统,写入 windows system32 inetsrv文件夹、MySQL学习4:Windows 64位操作系统下使用MySQL的相关信息,请在本站查询。
本文标签: