|
|
|
Обсуждение способов ускорения работы программ на VB608.01.2015, 17:13. Показов 10856. Ответов 52
Метки нет (Все метки)
В этой теме обсуждаем способы ускорения работы программ на VB6 по мотивам статьи
[Статья] Как заставить Вашу программу на VB работать быстрее?
0
|
|
| 08.01.2015, 17:13 | |
|
Ответы с готовыми решениями:
52
Обсуждение и сравнение способов и инструментов для работы с текстовыми файлами в ОС windows
Обсуждение полезных материалов/ресурсов/программ/библиотек по Qt |
|
|
|
| 08.01.2015, 22:27 [ТС] | |
|
Что же. Опишешь, как будет время. С нетерпением будем ждать.
У соседней статьи тоже сделаны интересные выводы. Некоторые противоречят с этой.
0
|
|
|
Модератор
|
|
| 08.01.2015, 22:35 | |
|
Dragokas, я занимаюсь написанием практически полноценной поддержки DirectX9 (а в последствии и 10, 11) в VB6, на это уйдет некоторое время. Как сделаю, тогда отпишу. Вторую статью не читал пока.
0
|
|
|
Модератор
|
|||
| 09.01.2015, 08:38 | |||
|
Какой бейсик быстрее
1
|
|||
|
|
|||
| 09.01.2015, 09:02 | |||
|
А в моем тесте Vb6 хуже BP в 6 раз! И это реально так, и про типы Random и Rnd всего лишь отмазки. Код то в обоих случаях одинаковый, т.е оба компилятора в равных условиях, а уж как они справляются это их дело.
0
|
|||
|
Супер-модератор
|
|
| 09.01.2015, 17:53 | |
|
В свое время я очень заинтересовался PowerBasic. Причины были веские:
1) преемственность по отношению к TurboBasic, который я очень любил (люблю); Тот же автор компилятора P. Зейл. 2) компактный нативный код, не требующий dll-поддержки. Решил сравнить производительности 32-х битного кода. Каково же было мое удивление, когда оказалось, что на простейшем тесте VB6 заметно быстрее PowerBasic...
1
|
|
|
Модератор
|
|||||||
| 09.01.2015, 21:39 | |||||||
|
1
|
|||||||
|
|
|||
| 09.01.2015, 22:50 | |||
![]() Random и Rnd это встроенные функции, результат работы которых разный, но алгоритм поиска случайных чисел связан c дробями так или иначе. А если PB этот результат ещё и округляет до целого, что тоже требует процессорного времени, и в результате всё равно быстрее, то это только доказывает эффективность его быстрых алгоритмов, по сравнению с VB6. Алгоритм генерации RND VB описан в MDSN
0
|
|||
|
Модератор
|
||||||||||||
| 09.01.2015, 23:00 | ||||||||||||
0
|
||||||||||||
|
|
||||||||
| 10.01.2015, 00:22 | ||||||||
![]() Код MyRND на VB6 работает в 3 раза медленнее, чем родной RND. И ты конечно и дальше можешь доказывать, что ты более в курсе, чем парни из Микрософт, сочиняющие бредовые MDSN, но лучше сделай так что бы этот "помойный" код
0
|
||||||||
|
Модератор
|
|||||||||||||||||
| 10.01.2015, 02:53 | |||||||||||||||||
|
Вот версия для скомпилированного варианта с оптимизацией по скорости:
Да в легкую. Делаем все по честному. Типы i - аналоги Long, а не Integer. Rnd меняем на наш - только целочисленный:
учитывая то, что мой комп считает с обычным Rnd около 9 секунд.
0
|
|||||||||||||||||
|
|
|||||||||||||||
| 10.01.2015, 07:56 | |||||||||||||||
|
Ну в любом случае, эта тема о том, как сделать программы на VB6 чуточку быстрее. И твоё упорство в доказательстве того, что RND Для чего вводить людей в заблуждение? Не смог запустить твой код с MyRND.
0
|
|||||||||||||||
|
Модератор
|
||||||||||||
| 10.01.2015, 11:22 | ||||||||||||
0
|
||||||||||||
|
|
||
| 10.01.2015, 12:27 | ||
![]() Eсть задача - заполнить в цикле массив типа Byte из 1000000 элементов случайными значениями 0 и 1 Всё, и не надо тут приплетать различные типы и пр. не относящуюся к делу фигню, типа COM и потоки. Если есть в VB6 другая встроенная функция, способная генерировать случайные числа, то я не против её использования. Но я знаю только одну, как и 99.9 программистов, и она RND. В PureBasic аналогичная функция это Random. Так вот решая именно эту задачу VB6 отстает примерно в 6-9 раз от PureBasic. Остальная вода ни кого не волнует.
0
|
||
|
Модератор
|
|||||
| 10.01.2015, 12:51 | |||||
|
0
|
|||||
|
|
||||||
| 10.01.2015, 12:55 | ||||||
|
Хотя нет, судя по этой инфе в Rnd невозможно задать любое значение в качестве начального, т. е. аналога RandomSeed в VB просто нет! Так о чем спор тогда? У меня встречный вопрос. Может ли Rnd генерировать целочисленные значения в заданном диапазоне, который намного шире чем 0...1? По моему ясно что спор тупиковый. ![]() Откуда такая информация? Дайте ссылку на авторитетный источник.Например я не припомню чтобы нужно было генерировать именно вещественные значения и именно в диапазоне 0...1. Обычно нужны целочисленные значения в заданном диапазоне. Процитирую вас же. Если из PB нужно работать с COM объектами, то следует использовать сторонние библиотеки типа PureDispHelper или COMatePLUS. Я об этом выше уже спрашивал. Тупиковый спор!
0
|
||||||
|
|
||||
| 10.01.2015, 13:06 | ||||
? Или ты хотел сказать что решение будет медленным? Ну я об этом и пишу!
0
|
||||
|
Модератор
|
||||||||
| 10.01.2015, 13:12 | ||||||||
|
Если из PB нужно работать с COM объектами, то следует использовать сторонние библиотеки типа PureDispHelper или COMatePLUS.
0
|
||||||||
|
|
||||||
| 10.01.2015, 13:19 | ||||||
|
Кстати, код из этого поста можно существенно "разогнать" если использовать RandomData.
Правда отсутствует деление по модулю, но непонятно зачем оно там вообще нужно.
0
|
||||||
| 10.01.2015, 13:19 | |
|
Помогаю со студенческими работами здесь
20
Обсуждение работы сборщика Обсуждение релизов, фиксов и их работы Обсуждение правильной работы mathcad RAMDisk SoftPerfect для ускорения работы в инете Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|