Kalles Fraktaler
|
|
« Reply #45 on: July 08, 2013, 05:29:49 PM » |
|
Does the event viewer tell anyting? Are you able to run the 32-bit version? The difference between the 32- and the 64- bit versions is much less now with series approximation, on my machine tick-tock is rendered in 8 seconds with 64 and 11sec with 32. Unfortunately I don't have any access to win7...
I discovered a bug preventing >e300 animations to be created, which I have solved. Latest version is 2.0.3
|
|
|
Logged
|
|
|
|
Dinkydau
|
|
« Reply #46 on: July 08, 2013, 09:24:03 PM » |
|
The 32-bit version behaves the same as the 64-bit version. Both crash the same way. Event viewer doesn't tell anything except what I already posted on page 2. New version, new chances, so i have downloaded the new version 2.0.3, but unfortunately it's still the same.
|
|
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #47 on: July 09, 2013, 11:53:50 AM » |
|
It might be something with freeing memory when rendering is complete. I will have a look when I'm in front of the computer in a couple of days.
|
|
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #48 on: July 10, 2013, 07:55:18 PM » |
|
The 32-bit version behaves the same as the 64-bit version. Both crash the same way. Event viewer doesn't tell anything except what I already posted on page 2. New version, new chances, so i have downloaded the new version 2.0.3, but unfortunately it's still the same.
I am sometimes careless when I call delete on pointers, arrays should be delete [] but it is usually not important on simple datatypes. The behaviour you describe make me suspect that this is the reason, so I have gone through the code and added [] on all delete of arrays. I hope this solves the problem...
|
|
|
Logged
|
|
|
|
cbuchner1
|
|
« Reply #49 on: July 10, 2013, 08:21:20 PM » |
|
Oh, a C++ implementation!!
I would be very curious how currently the C++ code in the central loop of the program looks like.
Is this using any SSE2 or AVX instruction sets yet? (For double precision computations, a speed-up of factor 2 respectively 4 could be expected)
I have some experience with SSE2 intrinsics on the GCC and Microsoft Visual C++ 2008 and 2010 compilers. Using intrinsics means you don't have to go to the low level of assembly language. The compiler remains in charge of register allocation. Also the intrinsics code can be neatly wrapped into a C++ class, so the regular arithmetics operators (+ - / *) can be used on such vector registers. Let me know if you need any assistance.
Christian
|
|
« Last Edit: July 10, 2013, 08:26:31 PM by cbuchner1 »
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #50 on: July 10, 2013, 09:58:53 PM » |
|
Oh, a C++ implementation!!
I would be very curious how currently the C++ code in the central loop of the program looks like.
Is this using any SSE2 or AVX instruction sets yet? (For double precision computations, a speed-up of factor 2 respectively 4 could be expected)
I have some experience with SSE2 intrinsics on the GCC and Microsoft Visual C++ 2008 and 2010 compilers. Using intrinsics means you don't have to go to the low level of assembly language. The compiler remains in charge of register allocation. Also the intrinsics code can be neatly wrapped into a C++ class, so the regular arithmetics operators (+ - / *) can be used on such vector registers. Let me know if you need any assistance.
Christian
I don't know much of SSE2 or AVX. It would be really cool if you could do your magic on my floatexp class and increase it's performance, I have attached it to this post (renamed from .h to .txt - I was a little lazy and implemented as a header file only) It is using a double as the mantissa and an integer as exponent, and is invoked when zoom is deeper than e300, to overcome the limitation of the exponent of the ordinary double. It is currently four times slower than the ordinary double...
|
|
|
Logged
|
|
|
|
Dinkydau
|
|
« Reply #51 on: July 10, 2013, 10:45:06 PM » |
|
I am sometimes careless when I call delete on pointers, arrays should be delete [] but it is usually not important on simple datatypes. The behaviour you describe make me suspect that this is the reason, so I have gone through the code and added [] on all delete of arrays. I hope this solves the problem...
It still crashes. Could it have explained that it works on my laptop with almost the same version of windows? It works on my laptop with home premium but not on my desktop with ultimate. That means it's probably not an error in your code. I think it has to be something weird, maybe even something with my own computer. The best way to test would be to reinstall windows, keep it fresh, instal only Kalles Fraktaler and see if it crashes, but that's a lot of work and I'm rendering at the moment. I might do it, though.
|
|
|
Logged
|
|
|
|
knighty
Fractal Iambus
Posts: 819
|
|
« Reply #52 on: July 10, 2013, 10:57:15 PM » |
|
@Dinkydau: have you tried to run it in compatibility mode?
|
|
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #53 on: July 10, 2013, 11:57:53 PM » |
|
It still crashes. Could it have explained that it works on my laptop with almost the same version of windows? It works on my laptop with home premium but not on my desktop with ultimate. That means it's probably not an error in your code. I think it has to be something weird, maybe even something with my own computer. The best way to test would be to reinstall windows, keep it fresh, instal only Kalles Fraktaler and see if it crashes, but that's a lot of work and I'm rendering at the moment. I might do it, though.
I searched on google and found that it is possible that a program crash when it tries to write to a file in any restricted folder. So I have now removed the automatic saving of location for recovery. New version (2.0.5), new hopes...
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #54 on: July 11, 2013, 08:29:56 AM » |
|
I don't know much of SSE2 or AVX. It would be really cool if you could do your magic on my floatexp class and increase it's performance, I have attached it to this post (renamed from .h to .txt - I was a little lazy and implemented as a header file only) It is using a double as the mantissa and an integer as exponent, and is invoked when zoom is deeper than e300, to overcome the limitation of the exponent of the ordinary double. It is currently four times slower than the ordinary double...
Can't you get a O(1) align by looking at the double as int64 and fiddle with the exponent bits directly? All those base 10 operations don't come naturally to computers. http://en.wikipedia.org/wiki/Double-precision_floating-point_format
|
|
|
Logged
|
|
|
|
Dinkydau
|
|
« Reply #55 on: July 11, 2013, 08:09:55 PM » |
|
I searched on google and found that it is possible that a program crash when it tries to write to a file in any restricted folder. So I have now removed the automatic saving of location for recovery. New version (2.0.5), new hopes...
That's not it either.
|
|
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #56 on: July 12, 2013, 10:13:19 AM » |
|
That's not it either.
That's bad, I have no more ideas currently
|
|
|
Logged
|
|
|
|
Kalles Fraktaler
|
|
« Reply #57 on: July 12, 2013, 01:38:20 PM » |
|
Yes, I have had that thought. However then it would be tricky to convert from the arbitary precision library to floatexp. The best would be if both floatexp and CFixedFloat would be 2 based...
|
|
|
Logged
|
|
|
|
|
blob
Strange Attractor
Posts: 272
|
|
« Reply #59 on: July 29, 2013, 07:44:31 PM » |
|
I was waiting for it, it's great, thanks.
|
|
|
Logged
|
|
|
|
|