473,386 Members | 1,799 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

How to improve scrolling performance ?

Hello all VB.net friends !

i have done most of my programming in assembly, at least so far. Recently i
decided to learn a high level language for windows programming. I didnt take
long to realize that VB.net would be my perfect friend.

I have already rewritten most of my assembly controls in VB, but i am not
satiesfied with the scrolling performance, though.

In assembler, where you can write directly to the video memory, this
is a trivial task. Of course, to copy in video memory nowadays, you
just need to send a command to the video card, and there we go.

The only problem is that such commands are well hidden in a driver,
and a simple assembly programmer are usually not given the secret
details to do this stuff on his own.

It seems to me that the windows graphics object (GDI) more or less
has the same performance as my assembly routines, that is, bytes are
copied from system memory to video memory.

in particular i have written a list control, which displays data in
rows and columns. Each row has a collection of cell objects, which
live their own life, with their own set of properties; backcolor,
forecolor, font etc.

I have been thinking for a while how to implement fast scrolling
for this list and similar controls, and indeed the performance may
be improved by clever programming.

For instance, to hide a textline in assembler, i simply give
each pixel in the font the same backcolor as the control.
This method is of course much, much faster than the straight
forward approach where you just overwrite all pixels in a rectangle
covering the text. I tried this is windows, but the performance
was too slow...

I am very eager to have other programmers tips and suggestions
on how to implement fast scrolling in Vb.net, in particular
text and picture scrolling, where you have to move all scanlines..

Nice day !
Walther
Nov 21 '05 #1
1 2334
Hi,

I don´t know the answer, but you can increase the chances of getting one
posting also in these newsgroups which are related to your question, since
it is not really a VB.NET question:

microsoft.public.dotnet.framework.drawing
microsoft.public.dotnet.framework.windowsforms
microsoft.public.dotnet.framework.windowsforms.con trols

Also, posting in a non "dotnet" newsgroup related to graphics can help, and
once you know the techniques, tips, etc. you can adapt them to .NET or keep
then in Win32 APIs.

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com
"Oberfuhrer" <he*******@yahoo.no> escribió en el mensaje
news:I8********************@telenor.com...
Hello all VB.net friends !

i have done most of my programming in assembly, at least so far. Recently
i
decided to learn a high level language for windows programming. I didnt
take
long to realize that VB.net would be my perfect friend.

I have already rewritten most of my assembly controls in VB, but i am not
satiesfied with the scrolling performance, though.

In assembler, where you can write directly to the video memory, this
is a trivial task. Of course, to copy in video memory nowadays, you
just need to send a command to the video card, and there we go.

The only problem is that such commands are well hidden in a driver,
and a simple assembly programmer are usually not given the secret
details to do this stuff on his own.

It seems to me that the windows graphics object (GDI) more or less
has the same performance as my assembly routines, that is, bytes are
copied from system memory to video memory.

in particular i have written a list control, which displays data in
rows and columns. Each row has a collection of cell objects, which
live their own life, with their own set of properties; backcolor,
forecolor, font etc.

I have been thinking for a while how to implement fast scrolling
for this list and similar controls, and indeed the performance may
be improved by clever programming.

For instance, to hide a textline in assembler, i simply give
each pixel in the font the same backcolor as the control.
This method is of course much, much faster than the straight
forward approach where you just overwrite all pixels in a rectangle
covering the text. I tried this is windows, but the performance
was too slow...

I am very eager to have other programmers tips and suggestions
on how to implement fast scrolling in Vb.net, in particular
text and picture scrolling, where you have to move all scanlines..

Nice day !
Walther

Nov 21 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Peng Jian | last post by:
I have a function that is called very very often. Can I improve its efficiency by declaring its local variables to be static?
1
by: Lakesider | last post by:
Hi NG, I have written an application with a lot of file- and database operations. There are several algorithmic operations, too. My question is: are ther any tools to improve performance -...
6
by: Jéjé | last post by:
Hi, hoew can I improve the compilation process of a sharepoint website? my server is: 2 * P3 Xeom 1ghz 4go ram 2 * 36gb (mirror for OS and website) 2 * 36 Raid 0 (stripping; for temp files...
2
by: Eduard | last post by:
I have a ASP.Net datagrid wrap in the following div: <DIV id="divPart2" style="OVERFLOW: hidden">. Another div controls the horizontal scrolling: <DIV id="scroll1" style="OVERFLOW: scroll;...
0
by: The Confessor | last post by:
I've narrowed down my problem, but I've yet to find a solution, so here goes again: Private Sub Form_Main_KeyDown() Handles MyBase.KeyDown Dim PaintEventArgument As New PaintEventArgs...
2
by: Rob Pollard | last post by:
Hi All, I am using the flow control (can't remember its full name), to display a few dynamically created controls based on the tags the user has added to my system. This works fine, except when a...
11
by: =?Utf-8?B?UmF5IE1pdGNoZWxs?= | last post by:
Hello, I know I sound like a one-note Johnny on this but I'm still looking for a solution. I need to display characters coming in from a serial port or a socket. I also need to be able to type...
2
by: sdanda | last post by:
Hi , Do you have any idea how to improve my java class performance while selecting and inserting data into DB using JDBC Connectivity ......... This has to work for more than 8,00,000...
5
by: Gilles Ganault | last post by:
Hello I'm no PHP expert, and I'm reading "Building scalable web sites". In the tips section, the author mentions using templates to speed things up. I was wondering how the template engines...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.