|
-
Aug 28th, 2008, 05:12 AM
#1
Thread Starter
Member
[2005] Graphics Card Clocks & Temperature
Hi all! I know, it is not maybe a VB.NET question, but how can I retrieve Clocks (MHz) and Temperature from Graphics Card? I know, that it is something about GFX driver, some kind of procedure. ATI Drivers (Catalyst Control Center) simply detect it (written in .NET), so why I cannot detect it too? If anybody have an idea how to do that, please help 
P.S. I've tried WMI, ... nothing found
-
Aug 28th, 2008, 01:08 PM
#2
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
-
Aug 28th, 2008, 01:50 PM
#3
Re: [2005] Graphics Card Clocks & Temperature
Those are custom registers. They're extremely hard, if not impossible to access with .NET I'm afraid. Most likely, the Catalyst Control Center was programmed in C#, and one of the VERY FEW things C# can do that VB.NET can't I believe is run ASM code (and if it's not C#, then it's definitely C++). That ability is required to do what you want to do.
-
Aug 28th, 2008, 04:11 PM
#4
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
Yes, it problem ... I think Delphi can run Assembler ... but I thougt ati driver sends some information, so I could easy chatch them ... you know, GPU-Z is working with ati / nvidia driver, it is just normal database program. I have programmed something like CPU-Z in VB.NET (using WMI, like CPU-Z, but some info isn't here...) , it's all about databases ... But still, thanks for your response
-
Aug 28th, 2008, 10:18 PM
#5
Re: [2005] Graphics Card Clocks & Temperature
It's not a standard. ATI and Nvidia are rivals so they 'hate' each other. You can't expect they both agreed on the same query. Are they offering some way to ask them externally to provide you with info? If not, cracking their stats is the best way to go.
-
Aug 28th, 2008, 10:22 PM
#6
Re: [2005] Graphics Card Clocks & Temperature
When you install the Catalyst Control Centre it requires a C++.NET redistributable to be installed, which means that it was written, at least partly, in C++.
-
Aug 29th, 2008, 04:46 AM
#7
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
Thank you, a little question: What is the main difference between C++ and VB.NET? Why everybody want to write program in C languages instead of VB.NET or easier languages? Thanks
-
Aug 29th, 2008, 05:39 AM
#8
Re: [2005] Graphics Card Clocks & Temperature
 Originally Posted by Jenner
Most likely, the Catalyst Control Center was programmed in C#, and one of the VERY FEW things C# can do that VB.NET can't I believe is run ASM code (and if it's not C#, then it's definitely C++).
You're thinking of C++ but that would have been pretty cool 
 Originally Posted by iMPR3SSiON
Thank you, a little question: What is the main difference between C++ and VB.NET? Why everybody want to write program in C languages instead of VB.NET or easier languages? Thanks
VB.Net is for Rapid Application Development (RAD) and provides a very simple way to build a user interface and connect to databases. It's meant to create applications quickly and reliably.
C++, on the other hand, is a lower level language meaning it's closer to the machine. This means it's faster than .Net and can drop into ASM; a necessity when optimizing algorithms or utilizing certain pieces of hardware. While C++ is fast, creating a user interface and connecting to databases are more of a challenge. C and C++ are typically used when performance is critical (Photoshop, most video games, etc).
-
Aug 29th, 2008, 06:28 AM
#9
Re: [2005] Graphics Card Clocks & Temperature
ATi CCC is a .NET app, written in C++. Managed C++ gives you the power of C++ with the ease of use of the .NET platform. That said, Managed C++ is still way more difficult to master than VB. Everything's a trade-off.
-
Aug 29th, 2008, 07:14 AM
#10
Re: [2005] Graphics Card Clocks & Temperature
Thanks for the clarification. I've seen examples of ASM code in C, but I can never tell if the code I'm looking at is C# or C++. It was posted on a C# site of all things so I assumed. Then again, assembler isn't really "managed" now is it? 
iMPR3SSiON, I frequently see questions about CPU, MB and HD temperature as well as fan-speed. Unfortunately, as nice as WMI is, it still doesn't cover these devices well. Support for them is strictly dependent on the BIOS and/or on drivers. There's no good "universal" system or standards for handling all this low-level hardware yet. So it's a coin-flip whether WMI even is getting the information. Maybe someday though, and if anybody can push a hardware standard like that, it's Microsoft.
-
Aug 29th, 2008, 09:18 AM
#11
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
Oh my god, thanks for all the replies! Yes, I now understand to thing better. But, another very little thing ... don't insult Microsoft! Visual Studio is the best thing, that they have done in whole their carrier! Instead of Windows ...
-
Aug 29th, 2008, 09:21 AM
#12
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
Jenner: I'm just wondering ... Do you know, what means each char in Processor ID? It's maybe supported instruction, or something else? I have recovered a few chars, but still there are some chars left, i think it would be useful
-
Aug 29th, 2008, 09:29 AM
#13
Re: [2005] Graphics Card Clocks & Temperature
Oh heck no! Somehow, I've kinda turned into a Microsoft fan-boy over the years; only because I've used Macs and Linux. I admit they're all powerful systems, and all have nitch areas that can do some things better than anything Microsoft has, but I can't see myself using anything but a Windows PC for anything general purpose.
I truly believe that if there's anybody out there who can come up with some PC standard that allows for a common API to read and control things like temperature sensors, fans, etc, it's Microsoft. They've pushed hardware vendors to do greater things.
EDIT: The processor ID I believe is only a serial number like the VIN number of a car. It's used to describe the general make-model of the part it's attached to, and also have a unique section to differentiate it from any other part. There's a separate set of custom registers that describe it's capabilities and BIOS's are programmed to look for them. When you look at the upgrade notes for a BIOS revision, you'll see "added support for Blah Blah CPU", basically, all that means is they're programming into the BIOS methods to identify the CPU type and where the custom registers are that describe it's capabilities.
Since they're custom registers, as I mentioned, they're typically not used for anything else but BIOS identification of features and also can't be accessed by anything but a direct ASM call. Hyperthreading support is an example of this.
Last edited by Jenner; Aug 29th, 2008 at 09:36 AM.
-
Aug 29th, 2008, 03:38 PM
#14
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature [RESOLVED]
BTW: Jenner: Is there some good differences between VS 2005 and VS 2008?
Last edited by iMPR3SSiON; Aug 30th, 2008 at 05:51 PM.
-
Aug 29th, 2008, 04:35 PM
#15
Fanatic Member
Re: [2005] Graphics Card Clocks & Temperature
In my experience with Visual Basic 2005 versus Visual Basic 2008 I see, for the apps I've run, that the speed a program runs when using VB2005 from debug is quite a bit slower than running it from release. With VB 2008, again for the apps that I've run that use a lot of GDI, the times from debug and release are basically identical which surprised me. I've really had no bad experiences with Visual Basic 2008 with SP1 yet. When I had Visual Basic 2008 Express before SP1 I found I couldn't get the designer to display when using Vista but after SP1 that problem disappeared.
 Make as many mistakes as you can as quickly as you can. We want to make sure that we make a great enough number of mistakes in a given amount of time so that we can be successful.
"Persistence is the magic of success." Paramahansa Yogananda
-
Aug 30th, 2008, 05:48 PM
#16
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
By The Way, is there something like VB.NET Redistributable package?
Like in C++ ... you know, cos download full Framework takes so much time for some kind of users (I know users, that just don't like to download addition rubbish to run other program, I am (not completely) one of them) ... Anybody know anything about that?
-
Aug 30th, 2008, 07:10 PM
#17
Fanatic Member
Re: [2005] Graphics Card Clocks & Temperature
If you want to use VB.NET you have to have one of the .NET Frameworks period. There's no way around it and if there was it would be more of a pain then just downloading and installing one of the .NET Frameworks. Something like 23 MB for the .NET Frameworks. Compare that to some of the Vista service packs or XP service packs. It's nothing.
By the way if you use Visual Basic 2008 you can target one of 3 .NET Frameworks. 3.5, 3.0 or 2.0. If you want your app to be available to the people that have the earlier Windows OSs then you can choose to target .NET Framework 2.0.
 Make as many mistakes as you can as quickly as you can. We want to make sure that we make a great enough number of mistakes in a given amount of time so that we can be successful.
"Persistence is the magic of success." Paramahansa Yogananda
-
Aug 31st, 2008, 05:31 AM
#18
Thread Starter
Member
Re: [2005] Graphics Card Clocks & Temperature
Oh, Thank you! That's interesting! Can I do it in VS 2005? But, is there any way to warn user, that he doesn't have installed framework instead of awful error? Example: I have WinXP SP1 without .NET Framework, I run some or the progs, that need .NET FW. Blam! "Error: something about exception". Soin this error is not written enything about installing Framework ...
-
Aug 31st, 2008, 06:28 AM
#19
Re: [2005] Graphics Card Clocks & Temperature
Of course it doesn't say anything about the Framework. It would take the .NET Framework itself to know that the problem was that the .NET Framework isn't present. It's YOUR responsibility as the developer to let your users know that they need a specific version of the Framework installed. ClickOnce and Windows Installer packages will both download and install the Framework for you, so it's not like have to even do anything to get it installed.
-
Sep 2nd, 2008, 09:37 AM
#20
Re: [2005] Graphics Card Clocks & Temperature
Yes, if you use one of the distribution systems that's built into Visual Studio, it'll check ahead of time on install whether or not the .NET Framework is present or not and if not, it'll install it, either from a local copy on disc or by downloading it from Microsoft.
Differences between 2008 and 2005? LINQ I'd say is a big one. I'm hooked on it. I use it for all my list and array manipulation now or on a returned DataTable from a database. Some recent code I did has a regex function as a lambda that LINQ enumerates through. I still don't see the point of anonymous types though. With everything I've done with LINQ, I still haven't used them.
I also use the new inline-If() a lot:
booResult = If(e= m*c^2, True, False)
-
Sep 2nd, 2008, 09:50 AM
#21
Re: [2005] Graphics Card Clocks & Temperature
 Originally Posted by Jenner
Differences between 2008 and 2005? LINQ I'd say is a big one. I'm hooked on it. I use it for all my list and array manipulation now or on a returned DataTable from a database. Some recent code I did has a regex function as a lambda that LINQ enumerates through. I still don't see the point of anonymous types though. With everything I've done with LINQ, I still haven't used them.
Isn't the result of every LINQ query an anonymous type? I haven't really used it so I don't know, but I do know that a great many are, if not most. Type inference was created specifically to support LINQ for that very reason. Every time you do this:you're creating an anonymous type.
-
Sep 2nd, 2008, 11:05 AM
#22
Re: [2005] Graphics Card Clocks & Temperature
Yes, but you never have to, and I've found both the code and the Intellitype easier if you don't and just assign how you want your output to be arranged before you assign it to your variable:
Code:
Dim pumps As List(Of PumpStruct) = (From pump As PumpStruct In ordOrder.Pumps _
Where pump.Status = 2 _
Select pump Order By pump.PrintOrder Ascending).ToList
Dim row As DataRow = (From r As DataRow In dt _
Where r.Item("ORDER_NO").Equals(od.OrderNumber) _
Select r).FirstOrDefault
When I said I don't see the point, what I mean is "I don't see the point of assigning an anonymous type to a variable". In order to use it, you have to do something with it; either: ToList, ToArray, FirstOrDefault, etc...
There may be some manipulations you can do with them though as anonymous types, perhaps with lambdas, but even the VB.NET structure for declaring lambdas is rigid:
Code:
Dim f As Func(Of Integer, Boolean) = Function(i As Integer) If(i > 5, True, False)
I can't declare an anonymous type within a lambda function. So I dunno...
Last edited by Jenner; Sep 2nd, 2008 at 11:13 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|