Skocz do zawartości

Nargil

Stały użytkownik
  • Postów

    842
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Nargil

  1. ST3160812AS to wersja z 8mb cache s-ata ST3160812A to wersja 8mb cache p-ata ST3160212A to wersja 2mb cache p-ata nie wiem czy jest 2mb s-ata ale sprawdz 3 od konca cyferke. Generalnie: ST3 - dyski 3.5" 160 - pojemnosc 8 - ilosc cache 12A - nie wiem S - s-ata
  2. w2k chodzi na p200 64ram - testowane, ale o komforcie to tutaj mowic nie mozemy.
  3. Danrok ja bym na twoim miejscu jednak wzial serie 7200.9... poczytaj sobie tutaj: http://forum.purepc.pl/index.php?showtopic=157513 . Ja jestem z niego bardzo zadowolony. Na 7200.7 sa ludzie co narzekaja
  4. podales linka do seagate 200 gb za 460zl :P Generalnie ja polecam seaget z serii 7200.9 (patrz moj topic z testem) , ale z spin pointami nie mialem nic do czynienia.
  5. Po dlugim czasie znow powrocilem do 3d, ale chyba mijam sie tu z powolaniem bo z tego co mi wychodzi to stwierdzam ze brak mi talentu :) No ale nie bede sie poddawal tylko zaloze lamerski topic Laduje model podloza z pliku ase ( tak wiem ze tam jest XZY i Z*(-1) ) i laduje to vertex buffora, ale to co pojawia sie na scenie to hmmmm HEREZJE :D Sa dziury ( brakuje faces ) w podlozu, a faces polozone w oddali przyblizaja i oddalaja sie szybciej od tych polozonych blisko kamery. Ja naprawde nie wiem co tu sie dzieje. Zarys wczytanego obiektu jest mniej wiecej ok wiec to raczej nie wina zlego uzycia TriangleList vs TriangleStrip itp. Program wymaga: net framework 2.0 beta 2 - http://www.microsoft.com/downloads/details...&displaylang=en managed d3d - http://www.microsoft.com/downloads/details...&displaylang=en oto program: http://demon.hell.org.pl/darq/Release.rar poki co jest takze mirror na: http://rainbow.mimuw.edu.pl/~ks209502/darq/Release.rar , ale tu moze zniknac w przeciagu kilku dni. a oto kod: engine.cs using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Data.Common;using System.Drawing;using System.Windows.Forms;using Microsoft.DirectX;using Microsoft.DirectX.Direct3D;using Microsoft.DirectX.DirectInput;namespace NRG_3D_CS{ /// <summary> /// Summary description for Form1. /// </summary> /// public class NRG_3D : System.Windows.Forms.Form { private Microsoft.DirectX.DirectInput.Device keyb; private float piover180 = (float)Math.PI / 180.0f; private const int nargil_width = 1024; private const int nargil_height = 768; private Microsoft.DirectX.Direct3D.Device device = null;//urządzenie private bool paused = false; private _model teren = new _model(); private bool devicelost = false; private kamera cam = new kamera(); private long t1, t2; private float delta; public void InitializeKeyboard() { keyb = new Microsoft.DirectX.DirectInput.Device(SystemGuid.Keyboard); keyb.SetCooperativeLevel(this, CooperativeLevelFlags.Background | CooperativeLevelFlags.NonExclusive); keyb.Acquire(); } public NRG_3D() { InitializeDevice(); } #region inicjalizacja i obsluga urzadzenia //zininjowanie urzadzenia public void InitializeDevice() { //standardowe ustawienie dla okna ClientSize = new System.Drawing.Size(nargil_width, nargil_height); Name = "Nargil"; Text = "Nargil's c# d3d 9.0"; FormBorderStyle = FormBorderStyle.FixedDialog; Format current = Microsoft.DirectX.Direct3D.Manager.Adapters[0].CurrentDisplayMode.Format; PresentParameters pp = new PresentParameters(); pp.Windowed = true;//uruchamiamy w trybie okienkowym //pp.Windowed = false; pp.BackBufferFormat = current; pp.BackBufferCount = 1; pp.BackBufferWidth = nargil_width; pp.BackBufferHeight = nargil_height; pp.SwapEffect = SwapEffect.Discard;//troche wieksza wydajnosc pp.EnableAutoDepthStencil = true; pp.AutoDepthStencilFormat = DepthFormat.D16; //utworzenie urzadzenia device = new Microsoft.DirectX.Direct3D.Device(0, Microsoft.DirectX.Direct3D.DeviceType.Hardware, this, CreateFlags.HardwareVertexProcessing, pp); device.DeviceReset += new EventHandler(OnResetDevice); OnResetDevice(device, null); paused = false; } public void OnResetDevice(object sender, EventArgs e) { Microsoft.DirectX.Direct3D.Device d = (Microsoft.DirectX.Direct3D.Device)sender; d.RenderState.ZBufferEnable = true; d.RenderState.CullMode = Cull.None;//ukrywanie scian niewidocznych d.RenderState.Lighting = true;//nie ma oswietlena d.RenderState.FogEnable = false; d.RenderState.FogColor = Color.DarkGray; d.RenderState.FogStart = 0.0f; d.RenderState.FogEnd = 1200.0f; d.RenderState.FogTableMode = FogMode.Linear; d.RenderState.FogVertexMode = FogMode.Linear; } #endregion #region obsluga okna protected override void OnPaint(PaintEventArgs e) { Render(); } protected override void OnResize(System.EventArgs e) {//sprawdzenie stanu okna i aktualizacja zmiennej paused paused = ((WindowState == FormWindowState.Minimized) || !Visible); } #endregion #region transformacje //resetowanie kamery private void resetcamera() { cam.pos = new Vector3(0.0f, 36.0f, 5.0f); cam.lookat = new Vector3(0.0f, 36.0f, 0.0f); cam.lh = new Vector3(0.0f, 1.0f, 0.0f); } //ustawienie macierzy private void SetupLights() { System.Drawing.Color col = System.Drawing.Color.White; //Set up a material. The material here just has the diffuse and ambient //colors set to yellow. Note that only one material can be used at a time. Material mtrl = new Material(); mtrl.Diffuse = col; mtrl.Ambient = col; device.Material = mtrl; //Set up a white, directional light, with an oscillating direction. //Note that many lights may be active at a time (but each one slows down //the rendering of our scene). However, here we are just using one. Also, //we need to set the D3DRS_LIGHTING renderstate to enable lighting device.Lights[0].Type = LightType.Point; device.Lights[0].Diffuse = System.Drawing.Color.White; device.Lights[0].Position = cam.pos; device.Lights[0].YPosition += 100.0f; device.Lights[0].Attenuation0 = 5.001f; device.Lights[0].Range = 2000.0f; device.Lights[0].Enabled = true;//turn it on //Finally, turn on some ambient light. //Ambient light is light that scatters and lights all objects evenly device.RenderState.Ambient = Color.FromArgb(0x505020); } private void Matrices() { cam.lookat.X = cam.pos.X + (float)Math.Sin(cam.rot.Y); cam.lookat.Z = cam.pos.Z + (float)Math.Cos(cam.rot.Y); device.Transform.View = Matrix.LookAtLH( //trnasformacja do przestrzeni 'kamery' cam.pos,//pozycja kamery cam.lookat, //kierunek patrzenia cam.lh );//gdzie jest gora device.Transform.Projection = Matrix.PerspectiveFovLH( (float)Math.PI / 4, //pole widzenia 1.0f, //wspolczynnik proporcji (szerokosc/wysokosc) 1.0f, //najblizsze z 1000.0f );//najdalsze z } #endregion #region rendering //wyswietlenie sceny public void Render() { if(device == null || paused == true) return;//nie ma gdzie wyswietlac //wyczysc ekran do koloru czarnego device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.SkyBlue, 1.0f, 0); //po skasowaniu komentarzy mozna zobaczyc jak dziala wzirniki //trojkat bedzie renderowany tylko na czesci ekranu, reszte pozostawiajac na np. //interface uzytkownka Viewport vp = new Viewport(); vp.X = vp.Y = 0; vp.Width = nargil_width; vp.Height = nargil_height; device.Viewport =vp; //poczatek sceny device.BeginScene(); Matrices();//przeksztalcenia teren.render(device); device.EndScene(); try { device.Present(); } catch (DeviceLostException) { devicelost = true; } } #endregion static void Main() { NRG_3D app = null; try { app = new NRG_3D(); } catch(DirectXException) { return; } app.Show(); //wczytujemy app.SetupLights(); app.teren.loadase("t.ASE"); app.teren.SortToQuad(); app.teren.FillVB(app.device); // ustawienia kamery app.resetcamera(); //glowna petla programu app.t1 = Environment.TickCount; app.InitializeKeyboard(); while(app.Created) { app.gra(); Application.DoEvents(); } } private void ReadKeyboard() { KeyboardState keys = keyb.GetCurrentKeyboardState(); if (keys[Key.D]) { cam.rot.Y += 45.0f * piover180 * delta; } if (keys[Key.A]) { cam.rot.Y -= 45.0f * piover180 * delta; } if (keys[Key.W]) { cam.pos.Z += 160.0f * delta * (float)Math.Cos(cam.rot.Y); cam.pos.X += 160.0f * delta * (float)Math.Sin(cam.rot.Y); } if (keys[Key.S]) { cam.pos.Z -= 160.0f * delta * (float)Math.Cos(cam.rot.Y); cam.pos.X -= 160.0f * delta * (float)Math.Sin(cam.rot.Y); } } private void gra() { t2 = Environment.TickCount; delta = (float)(t2 - t1)/1000; t1 = t2; ReadKeyboard(); Render(); } }} model.cs using System;using System.IO;using System.Drawing;using System.Text;using System.Collections;using System.Collections.Generic;using System.Data;using System.Data.Common;using System.Windows.Forms;using Microsoft.DirectX;using Microsoft.DirectX.Direct3D;namespace NRG_3D_CS{ public class quadtreeheader { public treenode4 first = null, tmp = null; public float min_x, max_x, min_z, max_z; public int max_lvl; } public class treenode4 { public treenode4 [] n = new treenode4[4]; public float min_x, max_x, min_z, max_z; public List<_face> faces = new List<_face>(); } public class _material { public string diffuse_map; public Color diffuse_color; public string bump_map; } public class _vertex { public Vector3 pos = new Vector3(); public Vector3 normal = new Vector3(); public float tv, tu = new float(); }; public class _face { public _vertex a; public _vertex b; public _vertex c; public int mat_id; }; public class _model { //private private int v_count; private int f_count; private int m_count; private _vertex[] vertex; private _face[] face; private _material[] material; private VertexBuffer vbuf; private quadtreeheader quadtree = new quadtreeheader(); //public public Vector3 pos; public _model() { pos.X = 0.0f; pos.Y = 0.0f; pos.Z = 0.0f; v_count = 0; f_count = 0; m_count = 0; } private long przesun(long i, string[] atmp) { i++; while (atmp[i].Equals(" ")) i++; while (atmp[i].Equals("")) i++; while (atmp[i].Equals("\t")) i++; return i; } public void loadase(string plik) { System.Globalization.NumberFormatInfo ni; System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.InstalledUICulture; ni = (System.Globalization.NumberFormatInfo) ci.NumberFormat.Clone(); ni.NumberDecimalSeparator = "."; v_count = 0; f_count = 0; m_count = 0; StreamReader fp; string ftmp; fp = File.OpenText(plik); ftmp = fp.ReadToEnd(); fp.Close(); char[] split = " \n\t\r".ToCharArray(); string[] atmp = ftmp.Split(split); long ltmp = 0; for (long i = 0; i < atmp.Length; i++) { if (atmp[i].Equals("")) continue; else if (atmp[i].Equals(" ")) continue; else if (atmp[i].Equals("*MATERIAL_COUNT")) { i = przesun(i, atmp); m_count = Int32.Parse(atmp[i]); material = new _material[m_count]; } else if (atmp[i].Equals("*MESH_NUMVERTEX")) { i = przesun(i, atmp); v_count = Int32.Parse(atmp[i]); vertex = new _vertex[v_count]; for (int j = 0; j < v_count; j++) vertex[j] = new _vertex(); } else if (atmp[i].Equals("*MESH_NUMFACES")) { i = przesun(i, atmp); f_count = Int32.Parse(atmp[i]); face = new _face[f_count]; for (int j = 0; j < f_count; j++) face[j] = new _face(); } else if (atmp[i].Equals("*MESH_VERTEX")) { i = przesun(i, atmp); ltmp=Int32.Parse(atmp[i]); i = przesun(i, atmp); vertex[ltmp].pos.X = float.Parse(atmp[i],ni); i = przesun(i, atmp); vertex[ltmp].pos.Z = -1.0f * float.Parse(atmp[i],ni); i = przesun(i, atmp); vertex[ltmp].pos.Y = float.Parse(atmp[i],ni); } else if (atmp[i].Equals("*MESH_FACE")) { i = przesun(i, atmp); atmp[i] = atmp[i].Remove(atmp[i].Length-1); ltmp = Int32.Parse(atmp[i]); i = przesun(i, atmp); i = przesun(i, atmp); face[ltmp].a = vertex[Int32.Parse(atmp[i])]; i = przesun(i, atmp); i = przesun(i, atmp); face[ltmp].b = vertex[Int32.Parse(atmp[i])]; i = przesun(i, atmp); i = przesun(i, atmp); face[ltmp].c = vertex[Int32.Parse(atmp[i])]; while (!atmp[i].Equals("*MESH_MTLID")) i = przesun(i, atmp); i = przesun(i, atmp); face[ltmp].mat_id = Int32.Parse(atmp[i]); } else if (atmp[i].Equals("*MESH_VERTEXNORMAL")) { i = przesun(i, atmp); ltmp = Int32.Parse(atmp[i]); i = przesun(i, atmp); vertex[ltmp].normal.X = float.Parse(atmp[i], ni); i = przesun(i, atmp); vertex[ltmp].normal.Z = -1.0f * float.Parse(atmp[i], ni); i = przesun(i, atmp); vertex[ltmp].normal.Y = float.Parse(atmp[i], ni); } else if (atmp[i].Equals("*MESH_TVERT")) { i = przesun(i, atmp); ltmp = Int32.Parse(atmp[i]); i = przesun(i, atmp); vertex[ltmp].tu = float.Parse(atmp[i], ni); i = przesun(i, atmp); vertex[ltmp].tv = float.Parse(atmp[i], ni); } else if (atmp[i].Equals("*MATERIAL_LIST")) { i = przesun(i, atmp); i = przesun(i, atmp); i = przesun(i, atmp); m_count = Int32.Parse(atmp[i]); material = new _material[m_count]; for (int j = 0; j < m_count; j++) material[j] = new _material(); } else if (atmp[i].Equals("*MATERIAL")) { i = przesun(i, atmp); ltmp = Int32.Parse(atmp[i]); while (!atmp[i].Equals("*MATERIAL_DIFFUSE") && !atmp[i].Equals("}")) i = przesun(i, atmp); int r, b, g, a; a = (char)255; i = przesun(i, atmp); r = (int)(255 * float.Parse(atmp[i], ni)); i = przesun(i, atmp); g = (int)(255 * float.Parse(atmp[i], ni)); i = przesun(i, atmp); b = (int)(255 * float.Parse(atmp[i], ni)); material[ltmp].diffuse_color = Color.FromArgb(a, r, g, b); } else if (atmp[i].Equals("*MAP_DIFFUSE")) { while (!atmp[i].Equals("*BITMAP")) i = przesun(i, atmp); i = przesun(i, atmp); material[ltmp].diffuse_map = atmp[i]; material[ltmp].diffuse_map = material[ltmp].diffuse_map.TrimStart("\"".ToCharArray()); material[ltmp].diffuse_map = material[ltmp].diffuse_map.TrimEnd("\"".ToCharArray()); } else if (atmp[i].Equals("*MAP_BUMP")) { while (!atmp[i].Equals("*BITMAP")) i = przesun(i, atmp); i = przesun(i, atmp); material[ltmp].bump_map = atmp[i]; material[ltmp].bump_map = material[ltmp].bump_map.TrimStart("\"".ToCharArray()); material[ltmp].bump_map = material[ltmp].bump_map.TrimEnd("\"".ToCharArray()); } } } private void dividequad(treenode4 node, int poziom) { if ((poziom > quadtree.max_lvl) || (node.faces.Count==0)) return; for (int i = 0; i < 4; i++) { node.n[i] = new treenode4(); } for (int i = 0; i < 2; ++i) { for (int j = 0; j < 2; ++j) { //przypisujemy galeziom ich zakresy node.n[2 * i + j].min_x = node.min_x + i * ((node.max_x - node.min_x) / 2); node.n[2 * i + j].max_x = node.min_x + (i + 1) * ((node.max_x - node.min_x) / 2); node.n[2 * i + j].min_z = node.min_z + j * ((node.max_z - node.min_z) / 2); node.n[2 * i + j].max_z = node.min_z + (j + 1) * ((node.max_z - node.min_z) / 2); } } for (int j = 0; j < 4; j++) { for (int i = 0; i < node.faces.Count; i++) { if ((node.faces[i].a.pos.X > node.n[j].min_x && node.faces[i].a.pos.X < node.n[j].max_x) && (node.faces[i].a.pos.Z > node.n[j].min_z && node.faces[i].a.pos.Z < node.n[j].max_z)) node.n[j].faces.Add(node.faces[i]); else if ((node.faces[i].b.pos.X > node.n[j].min_x && node.faces[i].b.pos.X < node.n[j].max_x) && (node.faces[i].b.pos.Z > node.n[j].min_z && node.faces[i].b.pos.Z < node.n[j].max_z)) node.n[j].faces.Add(node.faces[i]); else if ((node.faces[i].c.pos.X > node.n[j].min_x && node.faces[i].c.pos.X < node.n[j].max_x) && (node.faces[i].c.pos.Z > node.n[j].min_z && node.faces[i].c.pos.Z < node.n[j].max_z)) node.n[j].faces.Add(node.faces[i]); } dividequad(node.n[j], poziom + 1); } } public void SortToQuad() { quadtree.max_lvl = 5; quadtree.first = new treenode4(); quadtree.tmp = quadtree.first; int poziom = 0; //szukanie wymiarow obiektu quadtree.min_x = vertex[0].pos.X; quadtree.max_x = vertex[0].pos.X; quadtree.min_z = vertex[0].pos.Z; quadtree.max_z = vertex[0].pos.Z; for (long i = 1; i < v_count; i++) { if (vertex[i].pos.X < quadtree.min_x) quadtree.min_x = vertex[i].pos.X; else if (vertex[i].pos.X > quadtree.max_x) quadtree.min_x = vertex[i].pos.X; if (vertex[i].pos.Z < quadtree.min_z) quadtree.min_z = vertex[i].pos.Z; else if (vertex[i].pos.Z > quadtree.max_z) quadtree.min_z = vertex[i].pos.Z; } quadtree.first.max_x = quadtree.max_x; quadtree.first.min_x = quadtree.min_x; quadtree.first.max_z = quadtree.max_z; quadtree.first.min_z = quadtree.min_z; //porzadkowanie drzewa for(long i=0; i<f_count; i++) { quadtree.tmp.faces.Add(face[i]); } poziom = 1; dividequad(quadtree.tmp, poziom); } public void FillVB(Device device) { /* vbuf = new VertexBuffer(typeof(CustomVertex.PositionNormalTextured),f_count*3,device, 0,CustomVertex.PositionNormalTextured.Format,Pool.Default); CustomVertex.PositionNormalTextured[] verticles = (CustomVertex.PositionNormalTextured[])vbuf.Lock(0, 0); for (int i = 0; i < f_count; i++) { verticles[i * 3].X = face[i].a.pos.X; verticles[i * 3].Y = face[i].a.pos.Y; verticles[i * 3].Z = face[i].a.pos.Z; verticles[i * 3].Nx = face[i].a.normal.X; verticles[i * 3].Ny = face[i].a.normal.Y; verticles[i * 3].Nz = face[i].a.normal.Z; verticles[i * 3].Tu = face[i].a.tu; verticles[i * 3].Tv = face[i].a.tv; verticles[i * 3 + 1].X = face[i].b.pos.X; verticles[i * 3 + 1].Y = face[i].b.pos.Y; verticles[i * 3 + 1].Z = face[i].b.pos.Z; verticles[i * 3 + 1].Nx = face[i].b.normal.X; verticles[i * 3 + 1].Ny = face[i].b.normal.Y; verticles[i * 3 + 1].Nz = face[i].b.normal.Z; verticles[i * 3 + 1].Tu = face[i].b.tu; verticles[i * 3 + 1].Tv = face[i].b.tv; verticles[i * 3 + 2].X = face[i].c.pos.X; verticles[i * 3 + 2].Y = face[i].c.pos.Y; verticles[i * 3 + 2].Z = face[i].c.pos.Z; verticles[i * 3 + 2].Nx = face[i].c.normal.X; verticles[i * 3 + 2].Ny = face[i].c.normal.Y; verticles[i * 3 + 2].Nz = face[i].c.normal.Z; verticles[i * 3 + 2].Tu = face[i].c.tu; verticles[i * 3 + 2].Tv = face[i].c.tv; */ vbuf = new VertexBuffer(typeof(CustomVertex.PositionNormalColored), f_count * 3, device, 0, CustomVertex.PositionNormalColored.Format, Pool.Managed); CustomVertex.PositionNormalColored[] verticles = (CustomVertex.PositionNormalColored[])vbuf.Lock(0, 0); for (int i = 0; i < f_count; i++) { verticles[i * 3].X = face[i].a.pos.X; verticles[i * 3].Y = face[i].a.pos.Y; verticles[i * 3].Z = face[i].a.pos.Z; verticles[i * 3].Nx = face[i].a.normal.X; verticles[i * 3].Ny = face[i].a.normal.Y; verticles[i * 3].Nz = face[i].a.normal.Z; verticles[i * 3].Color = Color.Green.ToArgb(); verticles[i * 3 + 1].X = face[i].b.pos.X; verticles[i * 3 + 1].Y = face[i].b.pos.Y; verticles[i * 3 + 1].Z = face[i].b.pos.Z; verticles[i * 3 + 1].Nx = face[i].b.normal.X; verticles[i * 3 + 1].Ny = face[i].b.normal.Y; verticles[i * 3 + 1].Nz = face[i].b.normal.Z; verticles[i * 3 + 1].Color = Color.Green.ToArgb(); verticles[i * 3 + 2].X = face[i].c.pos.X; verticles[i * 3 + 2].Y = face[i].c.pos.Y; verticles[i * 3 + 2].Z = face[i].c.pos.Z; verticles[i * 3 + 2].Nx = face[i].c.normal.X; verticles[i * 3 + 2].Ny = face[i].c.normal.Y; verticles[i * 3 + 2].Nz = face[i].c.normal.Z; verticles[i * 3 + 2].Color = Color.Green.ToArgb(); } vbuf.Unlock(); } public void render(Device device) { device.SetStreamSource(0, vbuf, 0);//skad bedzie rendering device.VertexFormat = CustomVertex.PositionNormalColored.Format;//format wierzcholkow device.DrawPrimitives(PrimitiveType.TriangleList, 0, f_count);//narysowanie trojkata } }; } kod po czesci przepisany z jakiegos tutoriala, po czesci z sdk, po czesci samemu kombinowane :P identyczny topic zalozylem na warsztacie, ale narazie nikt tam nie byl mi w stanie pomoc, moze tu ktos zajrzy. Dodatkowo do tweakowcow mialbym prosbe o przetestowanie czy u was tez sie tak dzieje. ( nie chodzi mi o przenikanie przez obiekty bo nie mam wykrywania kolizji, ale o opisane wyzej symptomy )
  6. Nargil

    Power Juicer Rev 2.0

    mysle ze jakby blakajs stal kroccami do gory to moglbys wyeliminowac to zjawisko (moge sie mylic)
  7. Dysk lezy na gabce. Slysze: burczenie monitora, topowera i hdd seek. Jest to jednak cichy nie przeszkadzajacy dzwiek. Zreszta dla mnie najwazniejsza jest glosnosc w spoczynku i przy minimalnym obciazeniu. Za dnia jak wykorzystuje dysk intensywnie to zazwyczaj leci tez muza ktora wszystko zaglusza, natomiast w nocy wazne by podczas emule wszystko chodzilo cichutenko :) Ja kupowalem u siebie w miescinie. Zaplacilem 340 zl, ale w necie widzialem je juz za 315 zl. W kazdym razie jakby doliczyc wysylke to wyszlo mi tylko pare zl drozej, a tyle jestem gotow zaplacic za gwarancje na miejscu.
  8. boze jak ktos taki moze uczyc innych programowania jak sam pisze "iostream.h" (+inne razace byki) i nawet stronki nie potrafi zrobic by dzialala pod roznymi przegladarkami...
  9. hmmm skoro masz waz 8/10 i 10/12 to moze zrob cos takiego: kup kawalek rurki miedzianek fi 8mm, naciagnij na nia waz 8/10. Na waz 8/10 naloz waz 10/12 i zacisnij czyms. Troche prowizorka ale moze przejsc :)
  10. sata czy pata ? Jak sata to zrob tez test pojedynczego dysku
  11. Daj default action przy server na ask i wlaczajac emule ustaw rule na permit. Potem mozesz zmienic default na deny. Ps kerio winroute firewall jest imho lepszy :) choc to prawdziwy kombajn
  12. Nargil

    Rapidshare

    wciskasz free i czekasz 30 sekund, az pojawi sie link w ktorego potem klikasz
  13. moze jest martwe bo masz tylko 1 dysk ? Co ty chcesz raida na 1 hdd postawic ? :)
  14. szczerze to nie znalazlem w sieci zadnych testow serii 7200.9. Moze zle szukalem. Czy cienkie ? Jak dla mnie averge 63mb/s to jest bardzo dobrze.
  15. Nie rozumiem ? Co ci nie gra ? Screeny robilem sam i dawalem na imageshack... Jesli chodzi o niekompletne nazwy dyskow ( na czerwono ) to jest to chyba wina via ide accelerator'a ( pamietajmy ze na poczatku hdtach 3 w ogole nie chodzil z tymi driverami ). Chwilowo nie mam ich zainstalowanych i podaje pelne nazwy dyskow a dokladnie to "ST3160812A 2AAA". Teraz na tasmie mam tylko ta b7200.9 oraz brak ide acceleratora - wyniki sa te samy, tylko burst speed sie zwiekszyl do ~90 MB/s i cpu utilization wzroslo.
  16. Do mnie wlasnie zawital ST3160812A (barracuda 7200.9 160gb 8mb cache ata/100 ). Pierwsze wrazenia: Dysk jest znacznie szybszy od barracudy IV 40 gb. Oto testy hdtach3 short bench hdtach3 long bench Jak widac dysk prezentuje sie bardzo dobrze, averge read prawie 63 mb/s na ata/100 jest raczej bardzo dobrym wynikiem no i dla porownania barracuda IV: hdtach 3 short bench Co do glosnosci dysku to moim zdaniem dorownuje Barracuda IV 40gb ktora wczesniej mialem. Start dysku jest znacznie glosniejszy, ale gdy talerze juz sie rozkreca to nie wydaja z siebie zadnego uciazliwego dzwieku. Nieco glosniejszy jest natomiast seek (ale i wydajnosc prawie 2krotnie wieksza), ale dysk lezac na gabce jest i tak bardzo cichy. Podsumowujac Barracuda 7200.9 jest ciut glosniejsza od barracudy IV, ale nadal stoi na wysokosci zadania i ceciach!e sie bardzo cicha praca. Jest za to ZNACZNIE cichsza od mojego poprzedniego maxtora 80gb. Jesli chcecie bym wykonal jeszcze jakies testy to piszcie smialo :)
  17. mozna tez: #include <windows.h> int main() { DWORD t1, t2; t1=GetTickCount(); //tutaj twoj algorytm t2=GetTickCount() - t1; cout << t2; return 0; }
  18. no to troche mnie misiek przestraszyles... no ale dzisiaj sie okaze co i jak :)
  19. Zreszta Kucyk to idealnie skomentowal, nic dodac nic ujac. Domik: ja wcale czegos takiego nie mialem na mysli. Wybacz ze zle ubralem w slowa to co chcialem powiedziec :). Podsumowujac: 1) "BarTweak zobacz na czas dołączenia Kucyka, i ilość jego postów i jakie ma doświadczenie ..........." - "doswiadczenie" zrozumialem jako staz na forum, nie wiedzialem o innych zaslugach - skojarzylo mi sie to ocenianiem wiedzy czlowieka na podstawie daty dolaczenia i liczby napisanych postow - uznalem ze to zly sposob oceniania czyjesc wiedzy i zazartowalem ze jestem dluzej na forum - co do propagowania postfuckerstwa ktore "ci zarzucilem" to byla to ironia spowodowana wyzej wymienionymi przemysleniami ( porownanie czyjesc wiedzy do liczby postow. Wiele tu cichych osob ktore posiadaja ogromna wiedze, a duzo pisac to moze i byle lama ) - wiec jeszcze raz: Dla mnie twoja wypowiedz zabrzmiala jakbys ocenial ludzi na podstawie czasu na forum i ilosci postow i jedyne co zrobilem to nie zgodzilem sie z tym (nie ujmujac nic Kucykowi ktorego miales na mysli). Reszta moich postow skierowanych do ciebie to byla ironia. Nie zarzucam ci postfuckerstwa, ani nie uwazam ze piszesz bez sensu (o pisanie bez sensu to chodzilo mi o liczne wypowiedzi lamek nabijajace niepotrzebnie posty). 2) Co do BarTweak'a - Powiedz mi kolego o co ci chodzi ? Napisales ze dyski PATA roznia sie czyms od ATA 133 ( mimo ze tak nie jest ), a gdy poprosilem cie o wytlumaczenie powiedziales ze powinienem to wiedziec. Domyslam sie wiec ze uwazasz iz miales racje piszac ze PATA =/= ATA133 i probowalem cie przekonac ze tak nie jest. - "ech lepiej juz nic nie mow..." Czyli uwazasz ze to byla wypowiedz nie na poziomie ? Twoj kolega ze sklepu uwaza ze dyski ATA 133 rzadziej sie psuja niz SATA. Oprocz tego nic nie wiemy o twoim koledze, procz tego ze pracuje w jakims sklepie. Powiem Ci ze rozmawialem ostatnio w sklepie komputerowym gdzie koles stwierdzil ze "good ram cl 2.5 niczym nie rozni sie od kingston'a cl 3.0", "Ze Tracer robi wysmienite zasilacze i zupelnie nie wie dlaczego sie ich czepiam i nie chce miec. Przeciez one nawet aktywne pfc maja", "Seagate jest do [gluteus maximus], a samsunga to by w zyciu nie kupil. Polecal mi natomiast caviary ktore jak twierdzil sa bardzo ciche i niezawodne", "jak spytalem sie o wentylatorek 120mm na nagrzewnice to podal mi jakas noname 80tke i spytal czy to moze byc - powinno wystarczyc". Jak widac kompetencje pracownikow sklepow komputerowych nie zawsze sa takie jak byc powinny i nie mozna ufac kazdemu z nich. Zalozyles ten topic ale gdy ktos ma opinie niezgodna z tym co powiedzial ci kolega to mieszasz ja z blotem. No i niezly rotfl ze siedemnastolatek stwierdzil ze jestem infantylnym pietnastolatkiem. Skoro dla ciebie 15'latek to dzieciuch to dokladnie to samo moge pomyslec o tobie, bo roznica wieku ta sama (ale wcale tak nie mysle). Zapewniam cie tez ze 15 lat juz dosc dawno (jakby nie patrzec prawie 1/4 mojego zycia temu ;p ) temu skonczylem. To raczej ty zachowujesz sie dziecinnie bo nie dociera do ciebie co sie mowi. A tak w ogole to po co ci bylo 5 kont na tweaku ? Nikt z toba nie chcial rozmawiac na tamtych bo bylo widac ze do ciebie nic nie dociera ? PS. Wiem ze kur*wa nie potrafie pisac i znow ktos zrozumie to co napisalem nie na ten sposob co bym chcial.
  20. rachunek prosty: Dysk 120gb ma 120 000 000 000 bytes = 117187500 kbytes = 114440,91796875 mbytes = 111,758708953857421875 gbytes... Jak wiemy kilobajt ma 1024 bajty, mb = 1024kb, gb=1024mb ... A producenci dyskow licza pelnymi 1000 :)
  21. BarTweak: imho aktualnie wiecej dyskow sata trafia do serwisu bo wiecej jest ich kupowanych... Twoj znajomy chyba policzyl ilosci oddanych dyskow a nie stosunek liczby oddanych do liczby kupionych. Awaryjnosc powinna byc taka sama PS Domik: propagujesz postfuckerstwo ? :) Lepiej pisac madrze i rzadko niz czesto i bezsensownie ^^
  22. fakt do wczytania lepiej uzywac %lf , a do wyswietlania %.#f gdzie #to liczba okreslajaca ilosc liczb po przecinku
  23. Write cache nie przyspieszy ladowania windy... Sprobuj zainstalowac najnowsze latki na system + nowsze sterowniki do raida.
  24. no ja zartowalem :) chodzilo mi o to ze to raczej glupie stwierdzenie porownywac czyjas wiedze do czasu spedzonego na forum (btw od kucyka jestem dluzej o pare dni ;P choc wcale nie twierdze ze wiem wiecej od niego, ale malo tez nie wiem :) ). BarTweak: tak to naprawde to samo... i nie wiem czemu ty twierdzisz inaczej ( teraz widze ze poprawiles swoja wypowiedz, ale bylo cos takiego "Jest udowodnione na wielu pacjentach, że częściej się psują i padają dyski Sata i PATA niz ATA 133!" - i to wlasnie tego sie tak uczepilem ). No a BarTweak nie dosc ze nie wytlumaczyl mi jaka jest roznica miedzy pata i ata133 to jeszcze stwierdzil ze powinienem to wiedziec i to ON ma racje... A wracajac do glownego tematu: ja nie uwazam zeby dyski sata czesciej sie psuly od sata. Przeciez producenci czesto wypuszczaja te same modele dyskow w 2 wersjach, rozniacych sie tylko nieznacznie elektronika i interfejsem, a to nie te rzeczy sie psuja w dyskach tylko czesci mechaniczne. No chyba ze w fabrykach pracuja jacys zgryzliwi emeryci-spoleczniaki co to specjalnie uszkadzaja wszystkie "nowe szatanskie wynalazki"
×
×
  • Dodaj nową pozycję...