472,779 Members | 2,681 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,779 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 2301
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: Rina0 | last post by:
Cybersecurity engineering is a specialized field that focuses on the design, development, and implementation of systems, processes, and technologies that protect against cyber threats and...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
0
by: lllomh | last post by:
How does React native implement an English player?
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

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.