Logo by blob - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. January 21, 2018, 01:46:35 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 2 [3]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Active MB3D Develoment stopped from my side  (Read 3992 times)
0 Members and 1 Guest are viewing this topic.
thargor6
Fractal Molossus
**
Posts: 789



WWW
« Reply #30 on: July 28, 2016, 03:56:03 AM »

So, is the repository is only responsible for generating the executable Mandelbulb3D.exe in the release directory?
Also, another question. What software was used to compile the code found in the formula-files? Was it a straight Delphi ASM to binary compilation?
Yes, as already written in my initial response: formulas are a major problem.

The formulas are created in a manual process involving some arcane black magic and (almost) unknown/forgotten tools.

Our member Luca could tell a lot of stories about this. Maybe, the process is somewhere documented at this forum, but usually only Luca does this stuff.


Btw, you told that you can understand why to write ASM rather than Delphi-code and that Delphi is slow. Do you have experience with this (I would be really interested in this topic, to exchange serious facts) or is this just an "opinion"?

Cheers!


Logged
valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #31 on: July 28, 2016, 04:48:01 AM »

Btw, you told that you can understand why to write ASM rather than Delphi-code and that Delphi is slow. Do you have experience with this (I would be really interested in this topic, to exchange serious facts) or is this just an "opinion"?

It's not just an opinion. I am speaking on the basis of my experience writing Delphi code about 10 years ago. Back then, 32bit computers and 32bit Delphi were still relevant. As anyone who programmed in Delphi knows, Delphi compilers use their own Object Pascal dialect of Pascal. Although not an interpreted language (Delphi does generate native code), I did look at it as an inferior language, compared to C. Why? I stumbled into the fact that Delphi generated very slow/inefficient code for floating point arithmetic operations. So most of the time I converted everything dealing with floating point math into ASM. I did do profiling, and the difference was very much noticeable. Unfortunately, now I don't have the software or the actual profile timing results.

Here is some interesting reading material on this very topic:


Here are some quotes:

Quote
For floating-point arithmetic, the Delphi compiler is nowadays deprecated. For instance, the current Delphi compiler is outperformed by latest Javascript engines using on the fly compilaton into SSE: you'll have to code SSE by hand for acceptable results. I hope that SSE code in the upcoming 64 bit compiler will change the results here.

Quote
According to your code, what is slow with the 32 bit Delphi compiler is the floating point arithmetic support, which is far from optimized, and copy a lot of content on/to the FPU stack.

In respect to floating point arithmetic, not only Java JITted code will be faster. Even modern JavaScript JIT compilers can be much better than Delphi!

Quote
XE2 32bit compiler still uses the old FPU code
XE2 64bit compiler get a nice boost from using SSE2

Quote
Still those are mostly nitpickings compared to the massive issues of the old FPU code compilation (which, alas XE2 ľ Win32 still suffers from).

Quote
It looks to me that the overall best speeds go to the SSE2 optimized code, but especially the Double code for SSE2.

Quote
Unfortunately, a quick search of the Internet suggests the Delphi compiler doesn't have option for using SSE floating-point math in 32-bit code.

Anyways  smiley I believe that before doing any optimization by converting code to assembly, one needs to first make sure the algorithm is optimal. Also, it's very important to do profiling. To actually measure how much efficient your code becomes after some "optimization trick".
« Last Edit: July 28, 2016, 04:55:24 AM by valera_rozuvan » Logged

valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #32 on: July 28, 2016, 11:31:53 PM »

For those of you who stumble in the future on this post. In the hopes to make it easier for you to understand how MB3D formulas were created. A collection of posts with bits and pieces on the "manual process involving some arcane black magic and (almost) unknown/forgotten tools.".


To actually see implementation of custom formula loading, execution, etc. go directly to the source of MB3D:


So ... anyone up for a rewrite of this project?  smiley
« Last Edit: July 29, 2016, 11:25:44 PM by valera_rozuvan » Logged

Brocoli
Forums Freshman
**
Posts: 10


« Reply #33 on: July 29, 2016, 11:11:04 AM »

Hello, i would like to participate of this project. I'm not a coder but i am 3d graphic designer and i can help you for the ui design.
Logged
valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #34 on: July 29, 2016, 11:55:58 AM »

Hello, i would like to participate of this project. I'm not a coder but i am 3d graphic designer and i can help you for the ui design.

Awesome! Come take part in the discussion of the project rewrite over in the thread Remake of MB3D.
« Last Edit: August 13, 2016, 10:51:55 PM by valera_rozuvan » Logged

thargor6
Fractal Molossus
**
Posts: 789



WWW
« Reply #35 on: July 29, 2016, 12:32:21 PM »

It's not just an opinion. I am speaking on the basis of my experience writing Delphi code about 10 years ago.
OK, I had just to ask because I do not know you. The current MB3D-version is compiled using the XE 6 - compiler, so I was interested in more recent comparison results.
But, I also think that even the newest versions seem not have received major updates regarding the floating point arithmetic stuff.

I believe that before doing any optimization by converting code to assembly, one needs to first make sure the algorithm is optimal. Also, it's very important to do profiling. To actually measure how much efficient your code becomes after some "optimization trick".
I agree, a lot of wrong design is made because of "premature optimization".

Cheers!
Logged
utak3r
Alien
***
Posts: 26


WWW
« Reply #36 on: November 27, 2017, 08:59:57 PM »

The current MB3D-version is compiled using the XE 6 - compiler, so I was interested in more recent comparison results.

Well, I've been using Delphi 7 for many years, too. Analyzing the native code created by the compiler shows it was quite high level language, I mean, Pascal lacks many things C/C++ have, being closer to the raw meat - by design.
But even putting this aside, as you know, this language is almost not evolving, while C++ lives its another spring smiley

But, I also think that even the newest versions seem not have received major updates regarding the floating point arithmetic stuff.

Yup. For C/C++ we do have really many interesting maths libs available, just to name one: Intel lib, but also many others.

I agree, a lot of wrong design is made because of "premature optimization".

This! So much very this...


BTW, I could help, but I'm already in another time consuming project (rewriting Apo from scratch...) and I'm really busy with my regular job. So, at least in this upcoming year - I'm out  sad
Logged
thargor6
Fractal Molossus
**
Posts: 789



WWW
« Reply #37 on: November 30, 2017, 01:12:34 AM »

rewriting Apo from scratch
I wish you much luck with this project as I really know how much work such stuff is :-) Let me know when you need some beta-tester.

Cheers!
Logged
mancoast
Alien
***
Posts: 21


« Reply #38 on: December 07, 2017, 08:44:06 PM »

Convert it to Lazarus ?
https://github.com/thargor6/mb3d/issues/7
Logged
Pages: 1 2 [3]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
The blue side of the other side Mandelbulb3D Gallery lyron 0 282 Last post February 19, 2011, 09:07:56 PM
by lyron
MB3D Stopped when computing VL Mandelbulb 3d mario837 5 722 Last post June 27, 2013, 09:56:06 PM
by Jesse
Active Season Images Showcase (Rate My Fractal) Pauldelbrot 2 372 Last post May 31, 2014, 06:49:05 PM
by Pauldelbrot
looking for develoment of a formula - Paid work Programming tryptophan 0 489 Last post May 19, 2015, 10:28:31 PM
by tryptophan

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.18 seconds with 28 queries. (Pretty URLs adds 0.015s, 2q)