Прошу немного помоч

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Прошу немного помоч

Сообщение sashar2 » 26.02.2005 (Сб) 18:04

Вот я быстро написал программу буквально 17 строчек, для выяснения от чего зависит скорость работы программы. Смысл в том, что в течении 10 секунд идет цикл, который присваивает +1 к i. И вот я думаю от чего зависит скорость выполнения этой операции. Вот запустил прогу на 600 пентаке там выдало 29000, потом на своем селерочике (2500) вышло 32000, но хард у меня на селероне очень плохой стоит. Запускал мой друг селерон 2800 у него выдало 881119 !!! Я не понял из-за чего... Опера сто пудов здесь не причем, видео тоже, ну проц у него немного лучше, но не на столько же! Вот только харды у нас уж очень различаються. Вот и хочу чтобы:
1) Вы протестили и написали релультат с параметрами вашего компьютера
2) Сказали от чего это зависит

P.S>
А может быть просто моя программа не правильно работает?
Последний раз редактировалось sashar2 26.02.2005 (Сб) 18:07, всего редактировалось 1 раз.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.02.2005 (Сб) 18:06

1) На моём Celeron 1200 результат - 17254...

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 20:22

Больше никто не прверял что ли?
Может быть это еще зависит от настроек винды?
Вроде бы задача не сложная, неужели ни у кого нет 10 секунд или ответа на вопрос, который должен был уже за такое время существования языка решиться.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 20:28

И еще, кто-нибудь знает как справиться с мерцанием объекта при движении? Я хотел бы перейти на Direct3d, но в инете инфы почти не нашел и наверное надо будет ехать искать книги...

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 26.02.2005 (Сб) 20:33

4640338 AMD Athlon 2000+
Код такой:
Код: Выделить всё
Option Explicit
Dim yess As Boolean, i As Long
Private Sub Form_Load()
i = 0
yess = False
Do Until yess
DoEvents
i = i + 1
Loop
End Sub
Private Sub Timer1_Timer()
yess = True
MsgBox i
Clipboard.Clear
Clipboard.SetText i
Unload Me
End Sub

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 20:46

to Qubicz
Это у тебя результаты в твоем коде или в моем?
В тоем у меня 1732626.
Кстати из-за чего в твоем коде программа не "зависaет"? У меня ясно, у меня все останавливаеться при несовпадении условий, а вот у тебя...

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 21:09

Кажеться до меня дошло, у тебя не дает зависать:
DoEvents
Правильно? Ведь это тормозит процесс что ли? Просто у меня код почти такой же, различие в until и while и нет этой строки...

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 26.02.2005 (Сб) 22:19

Он самый DoEvents

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 22:59

Очень странно... Ну ладно спасибо, вообщем-то проблема решена !

P.S>
Теперь пойду с 3D разбираться.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.02.2005 (Сб) 23:24

Intel P4 1800
Код: Выделить всё
Option Explicit

Private Declare Function GetTickCount& Lib "kernel32" ()

Private Sub Form_Load()
Dim T&, I&
T = GetTickCount
While GetTickCount - T < 10000
I = I + 1
Wend
MsgBox I
End Sub
33636607 :shock:
[edit]Ага, а с DoEvents гораздо меньше :) 3027985 :)[/edit]

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.02.2005 (Сб) 23:42

у тебя тоже интересный кодик.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.02.2005 (Вс) 0:00

Люди, я может чего-то не понимаю... А в чём фишка-то? Только в том, что выполнение DoEvents занимает время?
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.02.2005 (Вс) 0:12

Нет, изначально вопрос был про хдд :) А я свое слово вставил просто так :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.02.2005 (Вс) 0:40

А хдд при чём?

Может, ещё на направление ветра за окном обращать внимание? :-)
Изображение

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 27.02.2005 (Вс) 1:37

A.A.Z. писал(а):Intel P4 1800
Код: Выделить всё
Option Explicit

Private Declare Function GetTickCount& Lib "kernel32" ()

Private Sub Form_Load()
Dim T&, I&
T = GetTickCount
While GetTickCount - T < 10000
I = I + 1
Wend
MsgBox I
End Sub
33636607 :shock:
[edit]Ага, а с DoEvents гораздо меньше :) 3027985 :)[/edit]

AMD Athlon 1800+ - 48676281
Изображение

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 27.02.2005 (Вс) 1:59

2 A.A.Z. AMD Athlon XP 2000+(частота 1768 MHz) - 54276010
Почему пентиум так отстает?

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 27.02.2005 (Вс) 3:08

Celeron 800@1000MHz 1149761
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 27.02.2005 (Вс) 7:40

Комп перегруженый, Intel Celeron 1300
40222905
Да, частота менше чем в компьютера A.A.Z. Так почему же Пентиум отстает?
الفيجوال بيسك الرابح

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 27.02.2005 (Вс) 13:46

Процессор - Pentium 4 2004 MHz Northwood
Память - 1 Гб.
Условия работы - открыто 4 приложения, всего работает 38 процессов. Загрузка ЦП - 4-5%
Результат - 42953655
Моду создают модоки, а распространяют модозвоны.

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 27.02.2005 (Вс) 15:55

Эх, где вы такие машины берете...
Мои показатели:
Celeron 416MHz
32 Mb RAM
HDD: Fujitsu 8.4 Gb 7200 об/мин
14362940
Листинги не горят!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.02.2005 (Вс) 16:09

Хм... Самому стало интересно... Перезагрузил, вошел в Millenium...43276010 :roll: Странно :scratch:

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 27.02.2005 (Вс) 17:26

to A.A.Z.
Объясни пожалуйста свой код, просто ОЧЕНЬ интересно. В твоем коде показывает ~56 000 000.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 27.02.2005 (Вс) 17:31

От винды вижу тоже зависит в XP немного медленее работает.

to A.A.Z.
Всетаки очень жду твоего ответа...

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 27.02.2005 (Вс) 17:37

Теперь это будет эталоном скорости :), а мой пример как всегда самый дерьмовый.
Код: Выделить всё
Option Explicit
Private Declare Function GetTickCount& Lib "kernel32" ()
Private Sub Form_Load()
Dim T&, I&
T = GetTickCount
While GetTickCount - T < 10000
I = I + 1
Wend
MsgBox "Ваш компьютер перерабатывает " & Int(I / 10) & " значений в секунду", vbOKOnly, "CPU Test"
Clipboard.Clear
Clipboard.SetText Int(I / 10)
Unload Me
End Sub


P.S>
Сильно извиняюсь за количество сообщений! Просто я сейчас с модема, а не модеме проще написать чем исправить... дома придеться править.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.02.2005 (Вс) 17:55

А, до меня доходит... Люди, похоже, свой бенчмарк собрались написать? :-D
Изображение

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 27.02.2005 (Вс) 18:02

Celeron 2.4
5557971
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2005 (Вс) 18:04

KDima писал(а):5557971

Классический номер телефона из голливудского фильма :lol:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 27.02.2005 (Вс) 18:09

GSerg писал(а):
KDima писал(а):5557971

Классический номер телефона из голливудского фильма :lol:


Хм... я так тоже подумал :)
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 27.02.2005 (Вс) 18:10

Dim T&, I&
Вот эта строка не понятна, что означает & после переменной?
GetTickCount
Тоже не очень понятно, ясно только то, что использует библиотеку Lib "kernel32".
И о While и Wend почти ничего не слышал...
Уж, помогите немного =), всетаки раздел для новичков...
to tyomitch
А что неплохая идея, вот только жалко тест очень не стабильный будет...

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 27.02.2005 (Вс) 18:11

Хм... даже необычно....
Бенчмарк, который зависит даже от движений мышки.
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 182

    TopList